diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json
index 4c101dab8fff..10fc277e7713 100644
--- a/.azure-pipelines-preproduction/package-lock.json
+++ b/.azure-pipelines-preproduction/package-lock.json
@@ -3835,9 +3835,9 @@
}
},
"node-fetch": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
- "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
"node-object-hash": {
diff --git a/.azure-pipelines/BreakingChange.yml b/.azure-pipelines/BreakingChange.yml
deleted file mode 100644
index 466349bd3bfd..000000000000
--- a/.azure-pipelines/BreakingChange.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-jobs:
-- job: "BreakingChange"
- pool:
- vmImage: 'Ubuntu 16.04'
- steps:
- - script: 'scripts/install-dotnet.sh'
- displayName: 'Install .Net'
- - task: Npm@1
- displayName: 'npm install'
- inputs:
- verbose: false
- - script: 'npm run tsc && node scripts/breaking-change.js'
- displayName: 'Breaking Changes'
\ No newline at end of file
diff --git a/.azure-pipelines/PrettierCheck.yml b/.azure-pipelines/PrettierCheck.yml
index f0dd05c49e7d..6880699cf0c2 100644
--- a/.azure-pipelines/PrettierCheck.yml
+++ b/.azure-pipelines/PrettierCheck.yml
@@ -1,6 +1,5 @@
jobs:
- job: "PrettierCheck"
- condition: "not(variables['PRIVATE'])"
variables:
NODE_OPTIONS: '--max-old-space-size=8192'
pool:
diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml
index da696e39c823..982a0fd77d77 100644
--- a/.azure-pipelines/SDKAutomation.yml
+++ b/.azure-pipelines/SDKAutomation.yml
@@ -20,7 +20,6 @@ jobs:
variables:
NODE_OPTIONS: '--max-old-space-size=8192'
- BLOB_STORAGE_PREFIX: sdkautomation-pipeline
SPEC_REPO: $(Build.Repository.Name)
PR_NUMBER: $(System.PullRequest.PullRequestNumber)
BUILD_ID: $(Build.BuildId)
@@ -42,6 +41,8 @@ jobs:
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: |
@@ -62,22 +63,30 @@ jobs:
displayName: Pull SDK Automation Image
- script: |
docker run \
+ -e BLOB_PROXY_PREFIX \
+ -e BLOB_STORAGE_PREFIX \
+ -e BLOB_STORAGE_IS_PUBLIC \
+ -e BLOB_DOWNLOAD_COMMAND \
-e BLOB_STORAGE_NAME \
-e BLOB_STORAGE_KEY \
-e GITHUB_COMMENT_AUTHOR_NAME \
-e GITHUBAPP_ID \
-e GITHUBAPP_PRIVATE_KEY \
-e NODE_OPTIONS \
- -e BLOB_STORAGE_PREFIX \
-e SPEC_REPO \
-e PR_NUMBER \
-e SDK_REPO_NAME \
-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)
diff --git a/.azure-pipelines/Spellcheck.yml b/.azure-pipelines/Spellcheck.yml
index 5d7e59f14160..4adb4fc0c266 100644
--- a/.azure-pipelines/Spellcheck.yml
+++ b/.azure-pipelines/Spellcheck.yml
@@ -1,6 +1,5 @@
jobs:
- job: "Spellcheck"
- condition: "not(variables['PRIVATE'])"
variables:
NODE_OPTIONS: '--max-old-space-size=8192'
pool:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 3c2cfcde11b6..cc4fa7417dcd 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -14,6 +14,8 @@ If any further question about AME onboarding or validation tools, please view th
- Adding a new API version
- Adding a new service
+- [ ] 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.
+
- [ ] 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
diff --git a/.github/comment.yml b/.github/comment.yml
new file mode 100644
index 000000000000..caa2bb07beee
--- /dev/null
+++ b/.github/comment.yml
@@ -0,0 +1,25 @@
+---
+- rule:
+ type: checkbox
+ keywords:
+ - "WaitForARMFeedback"
+ 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} "
+
+- rule:
+ type: checkbox
+ keywords:
+ - "I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow."
+ onCheckedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
Please ensure to do self-check against checklists in first PR comment. PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging. If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md) Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com"
+
+- rule:
+ type: label
+ label: BreakingChangeReviewRequired
+ onLabeledComments: "Hi @${PRAuthor}, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow [breaking change policy](https://aka.ms/AzBreakingChangesPolicy) to request breaking change review and approval before proceeding swagger PR review. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ma/swaggerfeedback. "
+
+- rule:
+ type: label
+ label: Approved-OkToMerge
+ onLabeledComments: "Hi @${PRAuthor},Your PR is approved. Congratulations. If your PR is in public repo (azure-rest-api-specs), PR assignee will merge all updates in the PR shortly afterwards; or pause the PR merge, you need to put on a label DoNotMerge to PR as soon as possible. If your PR is in private repo (azure-rest-api-specs-pr), there won’t be PR merge. Please refer to this [wiki](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/205/RP-Scenarios-to-Contribute-to-Swagger?anchor=**public-repository-vs.-private-repository**) for further guidance on how to proceed. "
diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml
index 7347c318e629..40be9f7f70ed 100644
--- a/.github/issue_assignment.yml
+++ b/.github/issue_assignment.yml
@@ -4,7 +4,7 @@
assignees:
- yungezz
- erich-wang
- - NullMDR
+ - PhoenixHe-msft
- raych1
- lirenhe
- weidongxu-microsoft
diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index 878a5eba46bc..2668fe4455e5 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -1,4 +1,11 @@
---
+- rule:
+ # eventgrid data-plane PR
+ paths:
+ - "specification/eventgrid/data-plane/**"
+ reviewers:
+ - lmazuel
+
- rule:
# data-plane PR
paths:
@@ -8,20 +15,26 @@
- jhendrixMSFT
- lmazuel
- tjprescott
+
- rule:
paths:
- "specification/network/**"
reviewers:
+ - kairu-ms
- lirenhe
- - MyronFanQiu
- rule:
paths:
- "specification/@(applicationinsights|operationalinsights)/**"
reviewers:
- - MyronFanQiu
+ - kairu-ms
+- rule:
+ paths: "specification/@(resources|powerplatform)/**"
+ reviewers:
+ - raych1
+
- rule:
paths: "specification/compute/**"
reviewers:
@@ -29,11 +42,6 @@
- fengzhou-msft
- yungezz
-- rule:
- paths: "specification/resources/**"
- reviewers:
- - raych1
-
- rule:
paths:
- "specification/machinelearningservices/**"
@@ -64,7 +72,7 @@
- "specification/monitor/**"
reviewers:
- weidongxu-microsoft
- - MyronFanQiu
+ - kairu-ms
- rule:
paths:
@@ -73,11 +81,11 @@
- qianwens
- Juliehzl
-- rule:
- paths: "specification/mediaservices/**"
- reviewers:
- - allenjzhang
+- rule:
+ paths: "specification/mediaservices/**"
+ reviewers:
+ - allenjzhang
- rule:
paths:
- "specification/@(keyvault|notificationhubs)/**"
@@ -89,7 +97,7 @@
paths:
- "specification/@(containerservice|containerinstance)/**"
reviewers:
- - NullMDR
+ - PhoenixHe-msft
- fengzhou-msft
- yungezz
@@ -104,7 +112,7 @@
paths:
- "specification/portal/**"
reviewers:
- - NullMDR
+ - PhoenixHe-msft
- rule:
paths:
@@ -128,7 +136,25 @@
- ".azure-pipelines-preproduction/**"
reviewers:
- akning-ms
- - NullMDR
+ - PhoenixHe-msft
+
+- rule:
+ paths:
+ - "documentation/**"
+ reviewers:
+ - josefree
+ - akning-ms
+
+- rule:
+ paths:
+ - "**/package.json"
+ - ".github/**"
+ - "**/azure-pipelines.yml"
+ - ".azure-pipelines/**"
+ - ".azure-pipelines-preproduction/**"
+ reviewers:
+ - akning-ms
+ - PhoenixHe-msft
- raych1
- rule:
@@ -138,17 +164,17 @@
reviewers:
- yungezz
- erich-wang
- - NullMDR
- - raych1
+ - PhoenixHe-msft
- lirenhe
- weidongxu-microsoft
- ArcturusZhang
- xccc-msft
+ - raych1
- ChenTanyi
- fengzhou-msft
- njuCZ
- akning-ms
- - markcowl
- leni-msft
- qianwens
- ruowan
+ - jianyexi
diff --git a/.github/sla.yml b/.github/sla.yml
index 005dfda9139a..7d1f1e347267 100644
--- a/.github/sla.yml
+++ b/.github/sla.yml
@@ -67,7 +67,7 @@
- time
args:
limit: 72h
- booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangeRequest)
+ booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangesRequested)
message: 'Dear PR author,
The PR Reviewer has commented on your PR ${URL} , putting on the label "Reviewed-ChangesRequired" or "ARMChangeRequest". Please check out the comment by clicking the PR link attached previously, and update your commits accordingly.
Please ensure to remove "Reviewed-ChangesRequired" or "ARMChangeRequest" label, after you complete updates and comment back. If you need ARM board or swagger reviewer revisit your PR, please label the PR with "WaitForARMRevisit" and "WaitForReviewRevisit" respectively.
Quick info.
DO NOT REPLY: This is an automated email. If you have any questions, please send an email to the Swagger and Tools Team (vscswagger@microsoft.com).
Best regards,
Swagger and Tools Team, Azure Management Experience
'
subject: "Action Required: Please update your PR ${URL}"
to: ${AUTHOR}
diff --git a/CODEOWNERS b/CODEOWNERS
index 279e43881053..c191c63fa8eb 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1,13 +1,14 @@
/specification/analysisservices/ @taiwu
+/specification/alertsmanagement/ @ofirmanor @olalavi @erangon @orieldar @ilaizi @shakednai1 @khaboasb @orenhor
/specification/apimanagement/ @promoisha @solankisamir
-/specification/applicationinsights/ @alexeldeib
+/specification/applicationinsights/ @alexeldeib @ramthi @markwolff @trask @hectorhdzg @lzchen
/specification/asazure/ @athipp
/specification/authorization/ @darshanhs90 @stankovski
/specification/automation/ @vrdmr
/specification/azsadmin/ @deathly809
/specification/batch/ @matthchr @xingwu1
/specification/batchai/ @alexanderyukhanov
-/specification/billing/ @wilcobmsft
+/specification/billing/ @wilcobmsft @asarkar84
/specification/cdn/ @csmengwan @injyzarif @prakharsharma10
/specification/cognitiveservices/ @felixwa @yangyuan
/specification/compute/ @bilaakpan-ms @sandido @dkulkarni-ms @haagha @madewithsmiles @MS-syh2qs @grizzlytheodore @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov
@@ -57,16 +58,17 @@
/specification/recoveryservicessiterecovery/ @avneeshrai
/specification/redis/ @siddharthchatrolams @timlovellsmith
/specification/relay/ @sethmanheim @v-ajnava
-/specification/resources/ @Tiano2017 @rajshah11 @vivsriaus
+/specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
-/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy
+/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @heaths @AlexGhiondea
/specification/search/resource-manager/ @abhi1509 @miwelsh @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
/specification/servicebus/ @sazeesha @v-ajnava
/specification/servicefabric/ @juhacket @samedder
-/specification/sql/ @jaredmoo @jamestao
-/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft @kasobol-msft
+/specification/sql/ @jamestao @bcham
+/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft
+/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft
/specification/storageimportexport/ @leoz-ms
/specification/storagesync/ @ankushbindlish2
/specification/storsimple8000series/ @manaas-microsoft
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 99db62225099..aeec700c1f96 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -23,7 +23,6 @@ jobs:
- template: .azure-pipelines/Semantic.yml
- template: .azure-pipelines/Avocado.yml
- template: .azure-pipelines/ModelValidation.yml
-- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/LintDiff.yml
- template: .azure-pipelines/NetworkValidation.yml
- template: .azure-pipelines/Spellcheck.yml
diff --git a/cSpell.json b/cSpell.json
index 21bf185fc445..6d8c0045d327 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -2,7 +2,9 @@
"version": "0.1",
"language": "en",
"words": [
- "Creds"
+ "Creds",
+ "partiallycompleted",
+ "umls"
],
"dictionaryDefinitions": [
{
@@ -89,6 +91,84 @@
"Ochestrator"
]
},
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
{
"filename": "**/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json",
"words": [
@@ -635,6 +715,39 @@
"networkrulesets",
"Setget"
]
+ },
+ {
+ "filename": "**/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json",
+ "words": [
+ "mysqldb",
+ "psqldb"
+ ]
+ },
+ {
+ "filename": "**/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json",
+ "words": [
+ "Chttp",
+ "Fcontoso",
+ "Fpushpins"
+ ]
+ },
+ {
+ "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json",
+ "words": [
+ "readreceipts"
+ ]
+ },
+ {
+ "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json",
+ "words": [
+ "areacodes",
+ "locationoptions",
+ "phonenumbers",
+ "phoneplangroups",
+ "phoneplans",
+ "pstn",
+ "unconfiguring"
+ ]
}
]
}
\ No newline at end of file
diff --git a/custom-words.txt b/custom-words.txt
index 6acf8af868f5..596f3ecdca7b 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -58,6 +58,7 @@ AND'ed
Annotatable
anomalydetector
anomalyfinder
+antimeridian
APAC
APACHEAVRO
API's
@@ -157,6 +158,7 @@ AZFW
AZNB
azns
azpkg
+azpodpolicy
azureaccounts
azureactivedirectory
azureblob
@@ -194,9 +196,11 @@ Baidu
bangla
Bahasa
baremetal
+baremetalinfrastructure
BATCHAI
batchmanaged
BAYESIANOPTIMIZATION
+bbox
BCDR
BCWG
beider
@@ -241,6 +245,8 @@ Bokmaal
Bootstrappers
bot's
botservice
+boundingbox
+boundingzoom
brazilsouth
browsable
bruceper
@@ -274,7 +280,10 @@ certificatescreateorupdate
certificatesdelete
Certificatethumbprint
certverify
+Chademo
chainer
+changedSince
+changepoint
changestate
CHECKACCESS
checkmark
@@ -302,12 +311,14 @@ closedlist
closedlists
Cloudamize
cloudapp
+cloudevents
cloudproperties
cloudsimple
clustermonitoring
clustername
Cmdkey
cmdlet
+CMAF
CMMI
CNAME
cntk
@@ -360,6 +371,7 @@ Cran
creatable
createconsumergroup
createorupdate
+createpreview
credativ
crossdomain
csname
@@ -386,12 +398,15 @@ CUTOVER
CVEs
CVSS
Cyrl
+darkgrey
databox
Databricks
datacatalog
Datacenter
datacenters
+datacontenttype
datadisk
+Datadog
datafactory
datafactoryv
dataflows
@@ -404,7 +419,9 @@ Datamasking
datamigration
datapoint
Dataset
+datasetid
datasets
+dataschema
datasource
Datasources
datastore
@@ -437,6 +454,7 @@ deleteconsumergroup
deletedcertificates
deletedkeys
deletedsecrets
+deletedservices
deletedstorage
deletefailed
deleteissuers
@@ -462,8 +480,10 @@ devicetemplates
devspaces
devtestlab
devtestlabs
+dewpoint
dhcp
diagnosticcontext
+diarization
digitaltwins
DIMM
disableautoscale
@@ -474,6 +494,7 @@ discoverbackup
diskmigrationjobs
diskoperations
Distcp
+Distro
DMTS
Dnat
dnsname
@@ -483,6 +504,8 @@ Domainful
domainname
domainservices
DOTALL
+dras
+DRAs
DRMs
dsmax
DTDL
@@ -500,6 +523,7 @@ Edgenode
edgenodes
EDIFACT
EDMX
+Einsteinweg
Ekaterinburg
ekus
Eloqua
@@ -521,6 +545,7 @@ entitydocument
entitysearch
entrypoint
environmentsettings
+EPSG
errordetail
errored
ErrorMesssage
@@ -580,9 +605,12 @@ fileservers
fileshare
Filestream
filesystems
+fileuploaderr
+fileuploadout
fileurl
findsimilars
findsquare
+firmwares
fluentd
forestsummary
formrecognizer
@@ -590,6 +618,7 @@ FPGA
fqdn
FQDNs
Français
+freeflow
frontdoor
fsaction
Fulfilment
@@ -609,10 +638,16 @@ generatelivetoken
generateverificationcode
generatevpnclientpackage
generatevpnprofile
+geobias
+geocode
+geocodes
Geofence
+geofences
Geofencing
+geojson
georegions
georeplication
+geospatial
GETACLSTATUS
getactivationkey
getavailablebillingfeatures
@@ -621,8 +656,10 @@ getconsumergroup
GETCONTENTSUMMARY
GETFILESTATUS
getissuers
+getitems
getjob
getkey
+getmaptile
getprivateendpointconnection
getprivatelinkresources
getsas
@@ -640,6 +677,7 @@ Gloo
gluster
glusterfs
GOARCH
+GPUP
GPUs
Grammarly
GRANTACE
@@ -650,10 +688,12 @@ Groupby
groupedby
GRPC
GSMT
+GTFS
guestconfiguration
GUID
GUIDs
GZRS
+Haag
haase
Había
hadoop
@@ -684,6 +724,7 @@ Horovod
hostnames
Hotfix
hotfixes
+HSLA
HSMs
Hubspot
hybridconnection
@@ -755,6 +796,7 @@ isdirectory
ishostingenvironmentnameavailable
ishostnameavailable
isnullable
+isochrone
isordered
issqlcompression
istransitioning
@@ -795,6 +837,7 @@ keyvaulturi
keyversion
KHTML
Kiswahili
+KMPH
Knowledgebase
knowledgebases
koelner
@@ -833,6 +876,8 @@ libtrust
lifecycle
lifetimejobstats
lifetimepoolstats
+Liftr
+Linestring
linkedservices
linkexpiryinminutes
LISTAFTERID
@@ -899,12 +944,14 @@ managementgroups
managementpartner
managementpolicy
manualupgrade
+mapbox
mapred
mapreduce
mariadb
Marketo
marketplaceagreementsapi
marketplaceordering
+maxcoordinates
MAXERRORS
maximumblobsize
maxmemory
@@ -933,9 +980,11 @@ microservices
microsofttranslator
migratemysql
migratetoaad
+mincoordinates
minidump
minimalmetadata
ministamps
+Minkowski
mixedreality
Mkdirs
mktorest
@@ -947,6 +996,7 @@ MODIFYACLENTRIES
monitoringconfiguration
monitoringconfigurations
Monospace
+mountainview
MPNS
MRAN
MSAZR
@@ -962,6 +1012,8 @@ Multiclass
MULTIJSON
Multilabel
multipart
+multipoint
+multipoints
Multiset
multistep
multivalued
@@ -988,15 +1040,18 @@ mysite
mysquare
mystore
myvolume
+myworkbooks
n'eventtype
n'recognition
nagios
namespace's
nanoserver
+Napoli
nbformat
Nccl
nchar
ndjson
+Neighbourhood
netapp
netezza
networkruleset
@@ -1037,6 +1092,7 @@ notificationchannels
notificationhubs
notstarted
nouploadcache
+nowcasts
nsdname
nsku
nsxt
@@ -1075,6 +1131,7 @@ operationresults
operationsmanagement
operationstatuses
opid
+openlr
oplog
Optimised
Optimiser
@@ -1091,6 +1148,9 @@ overprovision
overprovisioned
overprovisioning
overridable
+overriden
+overviewbox
+overviewzoom
OWASP
oxxm
pageable
@@ -1107,6 +1167,7 @@ Paypal
PBIE
PCIE
PCNET
+PDFs
peerings
Pendingissuance
Pendingrevocation
@@ -1131,6 +1192,7 @@ pkcs
playready
Plex
Pohlmann
+pois
policyassignments
policydefinitions
policyinsights
@@ -1151,6 +1213,7 @@ powerbidedicated
powerbiembedded
poweredoff
poweroff
+pptx
prebackup
prebackupvalidation
prebuilts
@@ -1247,6 +1310,8 @@ recoveryservicessiterecovery
recurse
rediscache
rediscachemanagement
+RediSearch
+redisenterprise
Redshift
Reenabled
Refid
@@ -1306,6 +1371,7 @@ Responsys
RESTAPI
restoreheartbeat
Restproxy
+restrant
restype
resumable
resync
@@ -1339,6 +1405,7 @@ RPKI
rpns
RSAES
RSASSA
+rstrnt
rscc
rscd
rsce
@@ -1369,6 +1436,7 @@ sawinvm
SBEH
Scaleset
scalesets
+Scame
scanability
SCMS
SCOM
@@ -1376,6 +1444,7 @@ scopemap
SCSV
sdks
SDWAN
+searchbuffer
searchindex
searchmanagementclient
searchservice
@@ -1466,6 +1535,7 @@ southindia
sparkconf
sparql
SPDX
+specversion
SQLAG
sqldatabase
SQLDB
@@ -1490,6 +1560,9 @@ starttaskfailed
starttime
startTime
stateful
+stateset
+statesets
+statetile
staticsite
statusdir
stderror
@@ -1512,6 +1585,7 @@ streamanalytics
streamingendpoint
streamingjobs
streamingservice
+subcause
subcomponent
subdir
subdomain
@@ -1569,6 +1643,7 @@ tablevaluedfunctions
tagname
tagsandregions
tagvalue
+TARGETDURATION
taskcompletion
taskcounts
taskfailure
@@ -1579,6 +1654,7 @@ templatelink
templeton
temporarydisk
tensorflow
+TEPCO's
teradata
terminatejob
Termlist
@@ -1593,6 +1669,8 @@ textanalytics
TFIDF
Tful
Tfvc
+tileset
+tilesets
timeframe
timegrain
timeseries
@@ -1608,11 +1686,15 @@ toolset
tooltips
topqueries
topquery
+TPEG
traceback
+traceparent
traceroute
+tracestate
trafficmanager
trafficmanageranalytics
trafficmanagerprofiles
+trafficmodelid
tráfico
transcoding
transcodes
@@ -1624,8 +1706,12 @@ triggerruns
TSVE
Turbonomic
Txns
+typeahead
Typeless
typeperf
+udid
+udids
+UEFI
UEBA
Uint
uksouth
@@ -1643,6 +1729,7 @@ unexamined
Unigrams
uniqueidentifier
uniquestring
+unitless
unixtime
UNKNOWON
unlocalized
@@ -1667,6 +1754,7 @@ unparsed
unprepare
unprepares
unpreparing
+Unprocessable
Unprovision
unprovisioned
Unprovisioning
@@ -1700,8 +1788,11 @@ userid
userpreference
usersetting
usermanaged
+usertime
USQL
+uturn
UUCP
+UUIDs
VAIDK
varbinary
varchar
@@ -1718,6 +1809,7 @@ Vfyc
vhds
VHDX
videosearch
+viewp
virtualclusters
virtualip
virtualmachine
@@ -1732,6 +1824,7 @@ visualsearch
visualstudio
vlan
vlanid
+vlans
Vldb
VM's
vmextension
@@ -1767,6 +1860,8 @@ waitingforstarttask
WANAs
WANs
WASB
+waypoint
+waypoints
WDATP
WEBAPICONTAINER
webapplicationfirewall
@@ -1797,6 +1892,7 @@ Whitelistings
whitespaces
Whois
Widevine
+windingness
windowsazuremediaservices
windowsesu
wlmengg
@@ -1814,7 +1910,9 @@ XBing
Xeon
Xero
XSMB
+Xstr
XVCJ
+Yazaki
Yucatec
Ywhk
YYMMDD
@@ -1823,6 +1921,7 @@ Zerto
Zilla
ziplist
Zoho
+zoneinfo
zset
MSAZRUSGO
hypervcollectors
@@ -1861,6 +1960,9 @@ azureADMetrics
sparkr
ambari
dotnetspark
+FDID
+Automanage
+Antimalware
dscp
Dscp
qos
@@ -1868,4 +1970,28 @@ FDID
watchlists
Watchlists
watchlist
-Watchlist
\ No newline at end of file
+Watchlist
+Stix
+STIX
+ACSSMS
+Mibps
+ntfs
+networkrulesets
+Setget
+Ruleproperties
+shamir_share
+dllpath
+MSIX
+msix
+MSIXpackages
+msixpackages
+appxmanifest
+Appxmanifest
+msixpackage
+xml
+Creds
+unarchive
+unarchiving
+ssoadfs
+Idempotence
+privatelinkhub
diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
index de459aa90c63..ff53c3ad1174 100644
--- a/documentation/Semantic-and-Model-Violations-Reference.md
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -59,10 +59,12 @@ This document lists the set of automated rules that can be validated against swa
| [REMOTE_NOT_VALID](#REMOTE_NOT_VALID) | |
| [INVALID_REQUEST_PARAMETER](#INVALID_REQUEST_PARAMETER) | |
| [INVALID_RESPONSE_CODE](#INVALID_RESPONSE_CODE) | |
+| [INVALID_RESPONSE_BODY](#INVALID_RESPONSE_BODY) | |
| [MISSING_REQUIRED_PARAMETER](#MISSING_REQUIRED_PARAMETER) | |
| [KEYWORD_TYPE_EXPECTED](#KEYWORD_TYPE_EXPECTED) | |
| [READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST](#READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST) | |
| [SCHEMA_VALIDATION_FAILED](#SCHEMA_VALIDATION_FAILED) | |
+| [DISCRIMINATOR_VALUE_NOT_FOUND](#DISCRIMINATOR_VALUE_NOT_FOUND) | |
| [DISCRIMINATOR_NOT_REQUIRED](#DISCRIMINATOR_NOT_REQUIRED) | [OAV131](#DISCRIMINATOR_NOT_REQUIRED) |
| [RESPONSE_BODY_NOT_IN_EXAMPLE](#RESPONSE_BODY_NOT_IN_EXAMPLE) | [OAV130](#RESPONSE_BODY_NOT_IN_EXAMPLE) |
| [DOUBLE_FORWARD_SLASHES_IN_URL](#DOUBLE_FORWARD_SLASHES_IN_URL) | [OAV129](#DOUBLE_FORWARD_SLASHES_IN_URL) |
@@ -87,6 +89,9 @@ This document lists the set of automated rules that can be validated against swa
| [INTERNAL_ERROR](#INTERNAL_ERROR) | [OAV100](#INTERNAL_ERROR) |
| [REQUEST_VALIDATION_ERROR](#REQUEST_VALIDATION_ERROR) | [OAV109](#REQUEST_VALIDATION_ERROR) |
| [RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) | [OAV111](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) |
+| [ROUNDTRIP_INCONSISTENT_PROPERTY](#ROUNDTRIP_INCONSISTENT_PROPERTY) | |
+| [ROUNDTRIP_MISSING_PROPERTY](#ROUNDTRIP_MISSING_PROPERTY) | |
+| [ROUNDTRIP_ADDITIONAL_PROPERTY](#ROUNDTRIP_ADDITIONAL_PROPERTY) | |
### Validation Warnings
@@ -546,6 +551,15 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove extra response code definition in example or correct it.
+### INVALID_RESPONSE_BODY
+
+**Output Message**:Body is required in response but not provided
+
+**Description**: Body schema is defined in swagger but body is not found in example or traffic.
+
+**How to fix the violation**: Add response body.
+
+
### KEYWORD_TYPE_EXPECTED
**Output Message**: Keyword 'type' is expected to be of type 'array,boolean,integer,number,null,object,string'.
@@ -611,6 +625,14 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Provide the requried property in example or remove this property from the required list of the definition in swagger spec. Or add items property if the type is array.
+### DISCRIMINATOR_VALUE_NOT_FOUND
+
+**Output Message**: Discriminator value "{0}" not found
+
+**Description**: The property used as discriminator has a value {0} but it's not found in swagger spec.
+
+**How to fix the violation**: Add the model that has the discriminator value or fix the discriminator value. The discriminator value could be specified by model name in definitions or by "x-ms-discriminator-value".
+
### DISCRIMINATOR_NOT_REQUIRED
@@ -780,3 +802,28 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove this definition if it's not used.
+### ROUNDTRIP_INCONSISTENT_PROPERTY
+
+**Output Message**: The property’s value in the GET response is different from what was set in the preceding PUT request. If it is a read-only property, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation.
+
+**Description**: The property’s value in the GET response is different from what was set in the preceding PUT request. This usually happens when the property is read-only so it's value cannot be changed. It is also possible that the property has a default value, and it is set to that value when a null value is included in the PUT request.
+
+**How to fix the violation**: If the property is a read-only, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation.
+
+
+### ROUNDTRIP_MISSING_PROPERTY
+
+**Output Message**: The property is present in the PUT request but is either never returned in the GET response or is returned with a null value. If this is a property that carries a secret such as a password, update the Swagger definition to mark it with the "x-ms-secret": true annotation.
+
+**Description**: The property is present in the PUT request, but in the subsequent GET response, it is either never returned or is returned with a null value, which means the property is write-only and is likely to carry a secret.
+
+**How to fix the violation**: Mark the property definition with the "x-ms-secret": true annotation if the property is a secret.
+
+
+### ROUNDTRIP_ADDITIONAL_PROPERTY
+
+**Output Message**: The property is returned in the GET response, but it is not declared in the PUT request. If it is a read-only property, update the swagger definition for this property to mark it as \"readOnly\": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with \"default\": annotation.
+
+**Description**: The property was not in the PUT request, but it is returned in the subsequent GET response. This implies that the property is read-only or has a default value.
+
+**How to fix the violation**: If the property is a read-only, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation.
\ No newline at end of file
diff --git a/documentation/code-gen/configure-go-sdk.md b/documentation/code-gen/configure-go-sdk.md
new file mode 100644
index 000000000000..b044ee08363f
--- /dev/null
+++ b/documentation/code-gen/configure-go-sdk.md
@@ -0,0 +1,291 @@
+# Readme Configuration Guide for Azure SDK for Go
+
+This file describe how to configure readme files to make it available for Azure SDK for Go code generation.
+
+## Common Configuration
+
+Configure basic package information.
+
+### Basic Information
+
+Configure package title/description/tag.
+~~~~
+// file: readme.md
+
+``` yaml
+title: xxxxConfigurationClient
+description: xxxx Configuration Client
+openapi-type: arm
+tag: package-xxxx-xx-xx
+```
+~~~~
+
+### tag
+
+Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client.
+A tag can contains a bunch of swagger files which are used to generate the SDK.
+
+The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available:
+- package-2020-02-03
+- package-2020-03-22-preview
+- package-2020-05-03-only
+
+while the below tag names are invalid names:
+- 2020-03-04
+- package-preview-2020-03-04
+
+A tag can be configured like below:
+~~~~
+// file: readme.md
+
+
+### Tag: package-2019-12-01
+
+These settings apply only when `--tag=package-2019-12-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-12-01'
+input-file:
+- Microsoft.Compute/stable/2019-12-01/compute.json
+- Microsoft.Compute/stable/2019-12-01/runCommands.json
+- Microsoft.Compute/stable/2019-12-01/gallery.json
+```
+~~~~
+
+
+## Swagger to SDK
+
+To make Azure SDK for Go can be generated from the tag, swagger-to-sdk need to be configured:
+
+~~~
+// file: readme.md
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-go
+ - ...
+
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+~~~
+
+## Go Configuration
+
+Go dedicated configurations are configured in `readme.go.md`.
+
+The typical namespace/package-name in azure-sdk-for-go must start with a lower case letter and can only contain lower case letters and numbers.
+And the typical output-folder in the azure-sdk-for-go is like `$(typescript-sdk-folder)/services/$(namespace)/mgmt/yyyy-mm-dd/$(namespace)` where the `yyyy-mm-dd` is the version of this package.
+
+Go SDK supports multi-api by default, therefore you must add a batch section in the `readme.go.md`.
+
+A typical readme.go.md is like this:
+~~~
+// file: readme.go.md
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-12-01
+```
+
+### Tag: package-2019-12-01 and go
+
+These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2019-12-01' && $(go)
+namespace: yourservicename
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace)
+```
+~~~
+
+## Preview package and stable package
+
+Preview tags and stable tags are defined as the following:
+
+- A tag is a preview tag when there is at least one input swagger file is preview.
+- A tag is a stable tag when all of its swagger files are stable.
+
+A stable tag generates a stable package in `azure-sdk-for-go`, and its `output-folder` must be in this pattern:
+```
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/yyyy-mm-dd/$(namespace)
+```
+The `output-folder` here must not be under the `preview` subdirectory.
+
+A preview tag generates a preview package in `azure-sdk-for-go`, and its `output-folder` must be in this pattern:
+```
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/yyyy-mm-dd-preview/$(namespace)
+```
+The `output-folder` here must be under the `preview` subdirectory.
+
+These rules must be applied, otherwise the go code generator will throw exceptions.
+
+## Multi-packages
+
+The batch is a tag list which are used in the one RP has multi-package scenarios. For example,
+the Resources RP has several independent packages like features, lock, policy.
+First of all, you need to have different yaml block for each package to define the default tag for that specific package.
+~~~
+// file: readme.md
+## Configuration
+
+### Basic Information
+
+These are the global settings for the Resource API.
+
+``` yaml
+openapi-type: arm
+```
+
+``` yaml $(package-features)
+tag: package-features-2015-12
+```
+
+``` yaml $(package-locks)
+tag: package-locks-2016-09
+```
+
+``` yaml $(package-policy)
+tag: package-policy-2019-09
+```
+
+``` yaml $(package-resources)
+tag: package-resources-2020-06
+```
+
+~~~
+Then for each default tag, you can define the input swagger like normal tag.
+~~~
+
+### Tag: package-features-2015-12
+
+These settings apply only when `--tag=package-features-2015-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-features-2015-12'
+input-file:
+- Microsoft.Features/stable/2015-12-01/features.json
+```
+
+### Tag: package-locks-2016-09-preview
+
+These settings apply only when `--tag=package-locks-2016-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-locks-2016-09-preview'
+input-file:
+- Microsoft.Authorization/preview/2016-09-01/locks.json
+```
+
+### Tag: package-policy-2019-09
+
+These settings apply only when `--tag=package-policy-2019-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-policy-2019-09'
+input-file:
+- Microsoft.Authorization/stable/2019-09-01/policyAssignments.json
+- Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json
+- Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json
+
+# Needed when there is more than one input file
+override-info:
+ title: PolicyClient
+```
+
+### Tag: package-resources-2020-06
+
+These settings apply only when `--tag=package-resources-2020-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-resources-2020-06'
+input-file:
+- Microsoft.Resources/stable/2020-06-01/resources.json
+```
+~~~
+
+Finally, in your readme.go.md you should include what packages you want to include in the Azure SDK for Go.
+And in each package's section define the default package name output folder in azure-sdk-for-go repo etc.
+
+~~~
+## 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-features-2015-12
+ - tag: package-locks-2016-09-preview
+ - tag: package-policy-2019-09
+ - tag: package-resources-2020-06
+```
+
+### Tag: package-features-2015-12 and go
+
+These settings apply only when `--tag=package-features-2015-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-features-2015-12' && $(go)
+namespace: features
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2015-12-01-preview/$(namespace)
+```
+
+### Tag: package-locks-2016-09-preview and go
+
+These settings apply only when `--tag=package-locks-2016-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-locks-2016-09-preview' && $(go)
+namespace: locks
+output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2016-09-01-preview/$(namespace)
+```
+
+### Tag: package-policy-2019-09 and go
+
+These settings apply only when `--tag=package-policy-2019-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-policy-2019-09' && $(go)
+namespace: policy
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-09-01/$(namespace)
+```
+
+### Tag: package-resources-2020-06 and go
+
+These settings apply only when `--tag=package-resources-2020-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-resources-2020-06' && $(go)
+namespace: resources
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-06-01/$(namespace)
+```
+~~~
+
+
+## Run codegen
+
+After configure all the readme files, autorest can be used to generate SDK.
+~~~
+autorest --go --use="@microsoft.azure/autorest.go@~2.1.156" --multiapi --preview-chk --use-onever --go-sdk-folder=/path/to/azure-sdk-for-go /path/to/azure-rest-api-specs/specification/storage/resource-manager/readme.md
+~~~
diff --git a/documentation/code-gen/configure-python-sdk.md b/documentation/code-gen/configure-python-sdk.md
index 503f5acb1ec0..ad14782c78e2 100644
--- a/documentation/code-gen/configure-python-sdk.md
+++ b/documentation/code-gen/configure-python-sdk.md
@@ -86,7 +86,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python // for track1 SDK
+ - repo: azure-sdk-for-python-track2 // for track2 SDK
- ...
@@ -226,12 +227,13 @@ After configure all the readme files, autorest can be used to generate SDK.
Track1 SDK is based on AutoRest version V2 that's going to be replaced by version V3.
~~~
-autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
+> autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
~~~
### Track2 (for latest Autorest)
Track 2 is based on the latest AutoRest code generator
~~~
-autorest --python --track2 --use=@autorest/python@5.1.0-preview.4 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
+> autorest --reset
+> autorest --python --track2 --use=@autorest/python@5.3.0 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
~~~
\ No newline at end of file
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 27f0278d2e8b..32866c30d025 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -140,7 +140,17 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R2007](#r2007) | [LongRunningOperationsWithLongRunningExtension](#r2007) | ARM OpenAPI(swagger) specs |
| [R2029](#r2029) | [PageableOperation](#r2029) | ARM and Data plane OpenAPI(swagger) specs |
| [R4006](#r4006) | [DeprecatedXmsCodeGenerationSetting](#r4006) | ARM and Data plane OpenAPI(swagger) specs |
-
+| [R4024](#r4024) | [PreviewVersionOverOneYear](#r4024) | ARM OpenAPI(swagger) specs |
+
+
+### RPaaS Violations
+
+#### RPaaS Errors
+
+| Id | Rule Name | Applies to |
+| --- | --- | --- |
+| [R4023](#r4023) | [RPaasPutLongRunningOperation201Only](#r4023) | ARM OpenAPI(swagger) specs |
+
### Documentation
#### Documentation Errors
@@ -1423,7 +1433,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM OpenAPI(swagger) specs
-**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData. Model definition '{0}' has extra properties ['{1}'].
+**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData, extendedlocation. Model definition '{0}' has extra properties ['{1}'].
**Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), top level properties of a resource should be only ones from the allowed set.
@@ -1681,7 +1691,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message**: Properties of a PATCH request body must not be {0}. PATCH operation: '{1}' Model Definition: '{2}' Property: '{3}'
**Description**: A request parameter of the Patch Operation must not have a required/default value.
-But it's allowed when all required properties are marked as discriminator, because the discriminator must be required.
+But it's allowed when the only required properties is marked as discriminator, because the discriminator must be required.
**CreatedAt** : N/A
@@ -1985,7 +1995,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
### R3021 PathResourceTypeNameCamelCase
-**Category** : ARM Warning
+**Category** : ARM Error
**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
@@ -2889,4 +2899,74 @@ The following response is a good example:
},
...
```
-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)
+
+### R4023 RPaasPutLongRunningOperation201Only
+
+**Category** : RPaaS Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : [RPaaS] Only 201 is the supported response code for PUT async response
+
+**Description** : An async PUT operation response include status code 201 with Azure-async-operation header. Must also support status code 200, for simple updates that can be completed synchronously (ex: tags). Operation must also add "x-ms-long-running-operation and x-ms-long-running-operation-options" to describe how the long running operation is tracked.
+
+**CreatedAt**: August 10, 2020
+
+**LastModifiedAt**: August 10, 2020
+
+**Why this rule is important**: RPaaS only supports 201 for async operations. This is enforced at runtime via swagger validation.
+
+**How to fix the violation**: Add the following for async PUT operations.
+
+The following would be valid:
+
+```json
+...
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/MySimpleObject"
+ }
+ },
+ "200": {
+ "description": "Succeeded",
+ "schema": {
+ "$ref": "#/definitions/MySimpleObject"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+...
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4024 PreviewVersionOverOneYear
+
+**Category** : SDK Warning
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The API version:{api-version} having been in a preview state over one year , please move to GA or retire.
+
+**Description** : Per [Retirement-of-Previews](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37683/Retirement-of-Previews), service, feature, API, and SKU in preview for over one year need to move to GA or retire.
+
+**CreatedAt**: Sep 8, 2020
+
+**LastModifiedAt**: Sep 8, 2020
+
+**How to fix the violation**:
+ Consider retiring or moving to GA.
+
+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.azureresourceschema.md b/documentation/samplefiles/readme.azureresourceschema.md
new file mode 100644
index 000000000000..819cac202170
--- /dev/null
+++ b/documentation/samplefiles/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-yourservicename-YYYY-MM-DD
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-yourservicename-YYYY-MM-DD and azureresourceschema
+
+``` yaml $(tag) == 'schema-yourservicename-YYYY-MM-DD' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
+
+```
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
index 932353580de4..ba38219f4d3e 100644
--- a/documentation/samplefiles/readme.go.md
+++ b/documentation/samplefiles/readme.go.md
@@ -23,9 +23,11 @@ These settings apply only when `--tag=package-2019-12-01 --go` is specified on t
Please also specify `--go-sdk-folder=`.
```yaml $(tag) == 'package-2019-12-01' && $(go)
+# NOTE: a stable tag must not contain any preview swagger files included
# NOTE: go namespace can only consist of lower case letters, numbers and underscores
namespace: yourservicename
# NOTE: for special cases, you can hard code the namespace in the output-folder
+# NOTE: the output-folder of a stable tag must not be under the preview subdirectory
output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace)
```
@@ -35,8 +37,10 @@ These settings apply only when `--tag=package-2020-07-01-preview --go` is specif
Please also specify `--go-sdk-folder=`.
```yaml $(tag) == 'package-2020-07-01-preview' && $(go)
+# NOTE: a preview tag must not contain at least one preview swagger file included
# NOTE: go namespace can only consist of lower case letters, numbers and underscores
namespace: yourservicename
# NOTE: a preview api-version must be under the preview sub-directory
+# NOTE: the output-folder of a preview tag must be under the preview subdirectory
output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace)
```
diff --git a/documentation/samplefiles/samplereadme.md b/documentation/samplefiles/samplereadme.md
index f76fab965fc8..af02111a6c18 100644
--- a/documentation/samplefiles/samplereadme.md
+++ b/documentation/samplefiles/samplereadme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_YourServiceName']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js yourservicename/resource-manager
```
## Go
@@ -77,3 +80,7 @@ See configuration in [readme.typescript.md](https://github.com/Azure/azure-rest-
## CSharp
See configuration in [readme.csharp.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.chsarp.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.azureresourceschema.md)
diff --git a/documentation/sdkautomation/sdk_customization.md b/documentation/sdkautomation/sdk_customization.md
new file mode 100644
index 000000000000..620ed6edfe57
--- /dev/null
+++ b/documentation/sdkautomation/sdk_customization.md
@@ -0,0 +1,801 @@
+# SDK Automation Customization
+
+This is the specification of the new SDK Automation customization configuration.
+Old customization that hardcoded in sdk automation will still work but this new
+approach is preferred.
+
+## SDK Automation workflow
+
+### Opened PR Validation Trigger
+
+SDK Automation is launched with matrix in azure pipeline. For each language configured:
+
+1. Get the PR merge commit and clone the spec repo on the merge commit.
+
+2. Get the PR changed file list. For each changed file, find the nearest readme.md in parent folder. Get list of related readme.md.
+
+3. Filter the list of readme.md with: find the `swagger-to-sdk` section in the readme.md, and see if the specified language is configured for that readme.md. Example of `swagger-to-sdk` in SDK Automation:
+```
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+```
+```
+If the configured language is not found here, generation for this readme.md will be skipped.
+
+4. Get `specificationRepositoryConfiguration.json` from spec repo default branch. See [SpecRepoConfig](#specrepoconfig). Get the repo and branch config in the file.
+
+5. Clone __mainRepository__ and checkout __mainBranch__. If __secondaryRepository__ is specified then checkout __secondaryRepository__ and __secondaryBranch__ instead.
+
+6. Get `swagger_to_sdk_config.json` from cloned SDK repository. The config file path could be customized by __configFilePath__ in spec config. For the definition of the config see [SwaggerToSdkConfig](#swaggertosdkconfig).
+
+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`.
+
+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.
+
+10. Get generated package. If __packageFolderFromFileSearch__ is defined with file search then package folder is detected based on git diff in SDK repository and algorithm described in [SwaggerToSdkConfig Schema](#swaggertosdkconfig-schema). Else package folder is from [generateOutput.json](#generateoutput). For each package ___loop the rest steps___.
+
+11. Launch __buildScript__ to build the package. Collect the artifacts by config __artifactPathFromFileSearch__. This step could be skipped if it's not defined in [SwaggerToSdkConfig](#swaggertosdkconfig) and it's covered by __generateScript__ and the result could be found in [generateOutput.json](#generateoutput).
+
+12. Upload all the package related artifacts to Azure Storage Blob Container. All the artifact for one package is uploaded in one folder. These file could be downloaded on URL prefixed by __downloadUrlPrefix__ defined in [InstallInstructionScriptInput](#installinstructionscriptinput). It's redirected by openapiHub by design, and for SDK Automation on public repo the redirect don't need auth, but for SDK Automation in private repo it requires microsoft AAD auth. User could authenticate and download via web page oauth in browser or bearer token auth with `az rest --resource` in command line.
+
+13. Launch __changelogScript__ to get changelog and detect breaking change. This step could be skipped if changelog and breaking change could be found in [generateOutput.json](#generateoutput). If breaking change is found, the spec PR will be labelled with `CI-BreakingChange-`.
+
+14. Launch __installInstructionScript__ to get install instruction for that package. This step could be skipped if install instruction could be found in [generateOutput.json](#generateoutput). The lite install instruction will be shown in spec PR comment, the full install instruction will be shown in generated SDK PR.
+
+15. Commit the package related code in SDK repository. Force push to [GenerationBranch](#generationbranch) in __integrationRepository__. Create or update [GenerationPR](#generationpr) from [GenerationBranch](#generationbranch) to [MainBranch](#mainbranch) in __integrationRepository__. If __integrationRepository__ is a fork of __mainRepository__, its [MainBranch](#mainbranch) should be synced once a day.
+
+### Continuous Integration (PR Merged) Trigger
+
+Almost the same as opened PR trigger, with different on step 15:
+
+15. Commit the package related code in SDK repository. Close [GenerationPR](#generationpr) and delete [GenerationBranch](#generationbranch). Force push to [IntegrationBranch](#integrationbranch) in __integrationRepository__. Create or update [IntegrationPR](#integrationpr) from [IntegrationBranch](#integrationbranch) to [MainBranch](#mainbranch) in __mainRepository__. Close the [integrationPR](#integrationPR) if __closeIntegrationPR__ in [SwaggerToSdkConfig](#swaggertosdkconfig) is set to true.
+
+
+## Definitions
+
+### SpecRepoConfig
+This is type of file `./specificationRepositoryConfiguration.json` in swagger spec repo.
+
+#### SpecRepoConfig Example
+```json
+{
+ "sdkRepositoryMappings": {
+ "azure-sdk-for-js": {
+ "integrationRepository": "AzureSDKAutomation/azure-sdk-for-js",
+ "mainRepository": "Azure/azure-sdk-for-js"
+ },
+ "azure-sdk-for-python": {
+ "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python",
+ "mainRepository": "Azure/azure-sdk-for-python",
+ "mainBranch": "release/v3"
+ },
+ "azure-sdk-for-python-track2": {
+ "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python",
+ "mainRepository": "Azure/azure-sdk-for-python"
+ },
+ "azure-sdk-for-trenton": {
+ "integrationRepository": "Azure/azure-sdk-for-trenton",
+ "mainRepository": "Azure/azure-sdk-for-trenton",
+ "secondaryRepository": "Azure/azure-sdk-for-trenton",
+ "secondaryBranch": "secondary"
+ }
+ },
+ "overrides": {
+ "Azure/azure-rest-api-specs-pr": {
+ "sdkRepositoryMappings": {
+ "azure-sdk-for-js": {
+ "integrationRepository": "azure-sdk/azure-sdk-for-js-pr",
+ "mainRepository": "Azure/azure-sdk-for-js-pr"
+ },
+ "azure-sdk-for-python": {
+ "integrationRepository": "azure-sdk/azure-sdk-for-python-pr",
+ "mainRepository": "Azure/azure-sdk-for-python-pr",
+ "mainBranch": "release/v3"
+ },
+ "azure-sdk-for-python-track2": {
+ "integrationRepository": "azure-sdk/azure-sdk-for-python-pr",
+ "mainRepository": "Azure/azure-sdk-for-python-pr"
+ }
+ }
+ }
+ }
+}
+```
+
+#### SpecRepoConfig Schema
+``` jsonc
+{
+ "type": "object",
+ "properties": {
+ "sdkRepositoryMappings": {
+ // A mapping of SDK repository names to the names of the SDK repositories
+ // that all interaction should go to instead.
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/SdkRepositoryConfig"
+ },
+ "propertyNames": {
+ // The property name is the sdk name identifier.
+ "type": "string"
+ }
+ },
+ "overrides": {
+ // Override config for specific repository.
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/"
+ },
+ "propertyNames": {
+ // The property name is the sdk repo ref.
+ "$ref": "#/definitions/RepositoryName"
+ }
+ },
+ "required": [
+ "sdkRepositoryMappings"
+ ]
+ },
+ "definitions": {
+ "RepositoryName": {
+ // Reference to a repository on github. Could be or /.
+ // By default the is the same as the owner of the spec repo.
+ "type": "string"
+ },
+ "SdkRepositoryConfig": {
+ "type": "object",
+ "properties": {
+ "mainRepository": {
+ // The repository that the final release PR will targeting.
+ "$ref": "#/definitions/RepositoryName"
+ },
+ "mainBranch": {
+ // Base branch of codegen branches
+ "default": "master",
+ "type": "string"
+ },
+ "integrationRepository": {
+ // The repository that hold generation branch, generation PR and integration branch.
+ // By default it's the same as mainRepository
+ "$ref": "#/definitions/RepositoryName"
+ },
+ "secondaryRepository": {
+ // Codegen runs on this repository.
+ // By default it's the same as 'mainRepository' but it could be different.
+ "$ref": "#/definitions/RepositoryName"
+ },
+ "secondaryBranch": {
+ // Codegen runs on this branch on secondaryRepository.
+ // By default it's the same as 'mainBranch' but it could be different.
+ "type": "string"
+ },
+ "integrationBranchPrefix": {
+ // The prefix that will be applied to the beginning of integration branches
+ "type": "string",
+ "default": "sdkAutomation"
+ },
+ "configFilePath": {
+ // Path to swagger-to-sdk config in sdk repo
+ "default": "swagger_to_sdk_config.json"
+ }
+ },
+ "required": [
+ "mainRepository"
+ ]
+ }
+ }
+}
+```
+
+### SwaggerToSdkConfig
+This is type of file `./swagger_to_sdk_config.json` in sdk repo.
+The running environment of these scripts would be expected to be __Ubuntu 18.04__ on Azure Pipeline. This may change in the future. All the running script should be executable.
+The working folder of all the scripts is the __root folder of sdk repo__.
+
+#### SwaggerToSdkConfig Example
+``` jsonc
+{
+ "advancedOptions": {
+ "createSdkPullRequests": true,
+ "generationCallMode": "one-for-all-configs"
+ },
+ "initOptions": {
+ "initScript": {
+ "path": "./eng/tools/sdk_init"
+ }
+ },
+ "generateOptions": {
+ // Param:
+ // generateInput.json: See #GenerateInput .
+ // generateOutput.json: See #GenerateOutput .
+ "generateScript": {
+ "path": "./eng/tools/sdk_generate",
+ "stderr": {
+ "showInComment": true
+ },
+ "stdout": {
+ // Show logs start with "[Autorest]" in PR comment.
+ "showInComment": "^\\[Autorest\\]"
+ }
+ },
+
+ "parseGenerateOutput": true
+ },
+ "packageOptions": {
+ // Param:
+ "buildScript": {
+ "path": "./eng/tools/sdk_package",
+ "stderr": {
+ // Everything in stderr will show in comment and mark package with warning.
+ "showInComment": true,
+ "scriptWarning": true
+ },
+ "exitCode": {
+ // If exit code is not zero, mark package with warning instead of error.
+ "result": "warning"
+ }
+ },
+
+ // Param:
+ "changelogScript": {
+ "path": "./eng/tools/sdk_breaking_change",
+ "breakingChangeDetect": "Breaking Change"
+ }
+ },
+ "artifactOptions": {
+ // Param:
+ // installInstructionInput.json: See #InstallInstructionScriptInput .
+ // installInstructionOutput.json: See #InstallInstructionScriptOutput .
+ "installInstructionScript": {
+ "path": "./eng/tools/sdk_install_instruction"
+ }
+ }
+}
+```
+
+#### SwaggerToSdkConfig Schema
+``` jsonc
+{
+ "type": "object",
+ "properties": {
+ "advancedOptions": {
+ // To keep backward compatibility, but will not list schema for old config options.
+ "properties": {
+ "createSdkPullRequests": {
+ // Should SDK Automation create PR or not.
+ "type": "boolean",
+ "default": true
+ },
+ "closeIntegrationPR": {
+ // Should SDK Automation close integrationPR to reduce noise.
+ "type": "boolean",
+ "default": true
+ },
+ "generationCallMode": {
+ // If we have multiple related readme.md, should we call generation once with
+ // all the readme.md or should we call generation multiple times and one per readme.md.
+ "type": "string",
+ "enum": [
+ "one-per-config",
+ "one-for-all-configs"
+ ],
+ "default": "one-for-all-configs"
+ }
+ }
+ },
+ "initOptions": {
+ // Init the environment. Install dependencies.
+ "type": "object",
+ "properties": {
+ "initScript": {
+ // Script to init.
+ "$ref": "#/definitions/RunOptions"
+ }
+ },
+ "required": [
+ "initScript"
+ ]
+ },
+ "generateOptions": {
+ // Generate the SDK code.
+ "type": "object",
+ "properties": {
+ "generateScript": {
+ // Script to generate the SDK code.
+ // Param:
+ // generateInput.json: See #GenerateInput
+ // generateOutput.json: See #GenerateOutput
+ "$ref": "#/definitions/RunOptions"
+ },
+ "preprocessDryRunGetPackageName": {
+ // If this options is set to true, generateScript will first run with
+ // "dryRun": true to get package name and related readme.md,
+ // then for each package, checkout the expected branch and launch generateScript.
+ "type": "boolean",
+ "default": false
+ },
+ "parseGenerateOutput": {
+ // Will this script output to generateOutput.json.
+ // If not, default behavior will be applied that outcome will be
+ // detected automatically based on filename regex search.
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "required": [
+ "generateScript"
+ ]
+ },
+ "packageOptions": {
+ // Get package folder and build / get changelog
+ "type": "object",
+ "properties": {
+ "packageFolderFromFileSearch": {
+ "oneOf": [
+ {
+ // If this option is set to object, then package folder will be detected automatically.
+ // based on filename regex search.
+ // This options must be set to object if parseGenerateOutput is false.
+ "type": "object",
+ "properties": {
+ "searchRegex": {
+ // Search algorithm:
+ // For each changed file detected after generation
+ // PotentialPackageFolder = folder of changed file
+ // While PotentialPackageFolder is not root folder of sdk repo:
+ // If PotentialPackageFolder contains a file that matches the searchRegex:
+ // PackageFolder found, break
+ // Else:
+ // PotentialPackageFolder = parent folder of PotentialPackageFolder
+ "type": "string",
+ "format": "regex"
+ },
+ "pageNamePrefix": {
+ // Prefix to be appended to packageName. By default packageName will be the folder name of packageFolder
+ "type": "string"
+ }
+ },
+ "required": [
+ "searchRegex"
+ ]
+ },
+ {
+ // If this option is set to false, then package folder will be from generateOutput.json.
+ "const": false
+ }
+ ],
+ "default": false,
+ },
+ "buildScript": {
+ // Build the generated sdk.
+ // Param:
+ // Package folder could be a list separated by space if it's from generateOutput.json.
+ "$ref": "#/definitions/RunOptions"
+ },
+ "changelogScript": {
+ // Changelog generation and breaking-change detection.
+ // Param:
+ // Package folder could be a list separated by space if it's from generateOutput.json.
+ // Expected output from stdout/stderr: Changelog in markdown
+ "allOf": {
+ "$ref": "#/definitions/RunOptions"
+ },
+ "properties": {
+ "breakingChangeDetect": {
+ // If stdout or stderr matches this in output of changelog tool
+ // then we assume this SDK has breaking change.
+ "$ref": "#/definitions/RunLogFilterOptions"
+ }
+ }
+ }
+ }
+ },
+ "artifactOptions": {
+ "artifactPathFromFileSearch": {
+ "oneOf": [
+ {
+ // If this option is set to object, then artifacts will be detected automatically
+ // based on filename regex search.
+ // This options must be set to object if parseGenerateOutput is false.
+ "type": "object",
+ "properties": {
+ "searchRegex": {
+ // Any file under package folder matching the searchRegex is package artifact.
+ "type": "string",
+ "format": "regex",
+ }
+ }
+ },
+ {
+ // If this option is set to false, then package folder will be from generateOutput.json
+ "const": false
+ }
+ ],
+ "default": false
+ },
+ "installInstructionScript": {
+ // Generate install instruction that could be shown in spec PR comment (lite version)
+ // or in generated SDK PR (full version).
+ // If generateOutput.json contains installInstruction then this could be skipped.
+ // Param:
+ // installInstructionInput.json: See #InstallInstructionScriptInput .
+ // installInstructionOutput.json: See #InstallInstructionScriptInput .
+ "allOf": {
+ "$ref": "#/definitions/RunOptions"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RunOptions": {
+ // Options to run a script and collect log.
+ "type": "object",
+ "properties": {
+ "path": {
+ // Script path related to repo root
+ "type": "string"
+ },
+ "logPrefix": {
+ // Prefix to be added to SDK Automation log. By default it would be filename of the script.
+ "type": "string"
+ },
+ "stdout": {
+ // How should SDK Automation handle the script stdout stream
+ "$ref": "#/definitions/RunLogOptions"
+ },
+ "stderr": {
+ // How should SDK Automation handle the script stderr stream
+ "$ref": "#/definitions/RunLogOptions"
+ },
+ "exitCode": {
+ // How should SDK Automation handle non-zero exitCode.
+ "showInComment": {
+ // Should we show this error in comment.
+ "type": "boolean",
+ "default": true
+ },
+ "result": {
+ // If script has non-error exitCode how should we mark the script's result.
+ "type": "string",
+ "enum": [
+ "error", "warning", "ignore"
+ ],
+ "default": "error"
+ }
+ },
+ "required": [
+ "path"
+ ]
+ }
+ },
+ "RunLogOptions": {
+ // How should SDK Automation handle the log stream.
+ "showInComment": {
+ // Should we show this stream in comment.
+ "$ref": "#/definitions/RunLogFilterOptions"
+ },
+ "scriptError": {
+ // If any line match, assume the script fails.
+ "$ref": "#/definitions/RunLogFilterOptions"
+ },
+ "scriptWarning": {
+ // If any line match, assume the script warns.
+ "$ref": "#/definitions/RunLogFilterOptions"
+ }
+ },
+ "RunLogFilterOptions": {
+ "oneOf": [
+ {
+ // If line of log match this regex then hit
+ "type": "string",
+ "format": "regex"
+ },
+ {
+ // If set to true, any line of log will hit
+ "type": "boolean"
+ }
+ ],
+ "default": false
+ }
+ }
+}
+```
+
+### GenerateInput
+
+Input file for generate script.
+
+#### GenerateInput Example
+
+```jsonc
+{
+ "dryRun": false,
+ "specFolder": "/z/work/azure-rest-api-specs",
+ "headSha": "fce3400431eff281bddd04bed9727e63765b8da0",
+ "headRef": "refs/pull/1234/merge",
+ "repoHttpsUrl": "https://github.com/Azure/azure-rest-api-specs.git",
+ "trigger": "pull_request",
+ "changedFiles": [
+ "specification/cdn/something/cdn.json"
+ ],
+ "relatedReadmeMdFiles": [
+ "specification/cdn/something/readme.md"
+ ]
+}
+```
+
+#### GenerateInput Schema
+
+```jsonc
+{
+ "type": "object",
+ "properties": {
+ "dryRun": {
+ // If dryRun is true, generateScript is expected to parse readme.md
+ // and output the package list with package name and related readme.md.
+ // Should not run codegen at this time.
+ "type": "boolean"
+ },
+ "specFolder": {
+ // Path to local spec folder.
+ "type": "string"
+ },
+ "headSha": {
+ // Git head sha.
+ "type": "string"
+ },
+ "headRef": {
+ // Git head ref.
+ // Format will be "refs/pull//merge" or "refs/heads/".
+ "type": "string"
+ },
+ "repoHttpsUrl": {
+ // Spec repo url in https without auth.
+ "type": "string"
+ },
+ "trigger": {
+ // How this generation is triggered.
+ "type": "string",
+ "enum": [
+ "pullRequest",
+ "continuousIntegration"
+ ]
+ },
+ "changedFiles": {
+ // Changed file list in spec PR.
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "relatedReadmeMdFiles": {
+ // Related readme.md files that pending generation.
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "installInstructionInput": {
+ // See #InstallInstructionScriptInput
+ "$ref": "#/definitions/InstallInstructionScriptInput"
+ }
+ },
+ "required": [
+ "specFolder", "headSha", "headRef", "repoHttpsUrl",
+ "trigger", "changedFiles", "relatedReadmeMdFiles"
+ ]
+}
+```
+
+### GenerateOutput
+
+Output file for generate script.
+
+#### GenerateOutput Example
+
+```jsonc
+{
+ "packages": [
+ {
+ "packageName": "Microsoft.Cdn",
+ "path": [
+ "sdk/cdn"
+ ],
+ "readmeMd": [
+ "specification/cdn/something/readme.md"
+ ],
+ "changelog": {
+ "content": "Feature: something \n Breaking Changes: something\n",
+ "hasBreakingChange": true
+ },
+ "artifacts": [
+ "sdk/cdn/cdn.nuget",
+ "sdk/cdn/cdn.snuget"
+ ],
+ "installInstructions": {
+ "full": "To install something...",
+ "lite": "dotnet something"
+ },
+ "result": "success"
+ }
+ ]
+}
+```
+
+#### GenerateOutput Schema
+
+```jsonc
+{
+ "type": "object",
+ "properties": {
+ "packages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PackageResult"
+ }
+ }
+ },
+ "required": [
+ "packages"
+ ],
+ "definitions": {
+ "PackageResult": {
+ "properties": {
+ "packageName": {
+ // Name of package. Will be used in branch name and PR title.
+ // By default it's folder name of first entry in path.
+ "type": "string",
+ },
+ "path": {
+ // List of package content paths.
+ // If the path points to a folder then
+ // all the content under the folder will be included.
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readmeMd": {
+ // List of related readmeMd of this package.
+ // Must provide this field if dryRun is true.
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "changelog": {
+ "type": "object",
+ "properties": {
+ "content": {
+ // Content of changelog in markdown
+ "type": "string"
+ },
+ "hasBreakingChange": {
+ // Does the new package has breaking change
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "content"
+ ]
+ },
+ "artifacts": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "installInstructions": {
+ // See #InstallInstructionScriptOutput
+ "$ref": "#/definitions/InstallInstructionScriptOutput"
+ },
+ },
+ "required": [
+ "path"
+ ]
+ }
+ }
+}
+```
+
+### InstallInstructionScriptInput
+
+Input of install instruction script.
+
+#### InstallInstructionScriptInput Example
+
+```jsonc
+{
+ "packageName": "Microsoft.Cdn",
+ "artifacts": [
+ "sdk/cdn/cdn.nuget",
+ "sdk/cdn/cdn.snuget"
+ ],
+ "isPublic": true,
+ "downloadUrlPrefix": "https://portal.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/azure-rest-api-specs/1234/azure-sdk-for-net/",
+ "downloadCommandTemplate": "curl -L \"{URL}\" -o {FILENAME}",
+ "trigger": "pullRequest",
+}
+```
+
+#### InstallInstructionScriptInput Schema
+
+```jsonc
+{
+ "type": "object",
+ "properties": {
+ "packageName": {
+ // The package name. May be skipped if sdk automation don't know the info yet.
+ "type": "string"
+ },
+ "artifacts": {
+ // List of artifact's path. May be skipped if sdk automation don't know the info yet.
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isPublic": {
+ // Is the download url public accessible.
+ // If it's false, the download command template will be
+ // az rest --resource -u "{URL}" --output-file {FILENAME}
+ "type": "boolean",
+ },
+ "downloadUrlPrefix": {
+ // All the artifacts will be uploaded and user could access the artifact via
+ // a link composed by this prefix and artifact filename.
+ "type": "string"
+ },
+ "downloadCommandTemplate": {
+ // Download command template. Replace {URL} and {FILENAME} to get the real command.
+ "type": "string"
+ },
+ "trigger": {
+ "type": "string",
+ "enum": [
+ "pullRequest",
+ "continuousIntegration"
+ ]
+ }
+ }
+}
+```
+
+### InstallInstructionScriptOutput
+
+Output of install instruction script.
+
+#### InstallInstructionScriptOutput Example
+
+```jsonc
+{
+ "full": "To install something...",
+}
+```
+
+#### InstallInstructionScriptOutput Schema
+
+```jsonc
+{
+ "type": "object",
+ "properties": {
+ "full": {
+ // Full version of install instruction will be shown in generated SDK PR.
+ // Should be in markdown format.
+ "type": "string"
+ },
+ "lite": {
+ // Lite version of install instruction will be shown in generated SDK PR.
+ // Should be in markdown format.
+ "type": "string"
+ }
+ },
+ "required": [
+ "full"
+ ]
+}
+```
diff --git a/package-lock.json b/package-lock.json
index 4404c0fc521a..8a7cfb56e070 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -382,7 +382,7 @@
"@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": "sha512-xFWpGZN1XzWN0egRs6gcT+tgYYw57us/Xr9euoaTsi9N+UR9ZxnG8Mrt4K/KlB54dNIED/LaGxReqRM5L7tKZA==",
+ "integrity": "sha1-Gy257ada2oNjbwcopc3sic0D08M=",
"dev": true,
"requires": {
"@ts-common/iterator": "^0.3.0",
@@ -408,7 +408,7 @@
"@ts-common/fs": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@ts-common/fs/-/fs-0.2.0.tgz",
- "integrity": "sha512-ul1v4ZatcHuAzrwr/hGjSbk37pnfnLYDWC1yMEynQlnV8ndAcIVNYwQPPOYtLADPKTi3y74g5Q4BF3xPurDHLA==",
+ "integrity": "sha1-FMvf3smooaVjKNr1Ztm8k7iJgrk=",
"dev": true,
"requires": {
"@ts-common/async-iterator": "^0.2.0",
@@ -419,7 +419,7 @@
"@ts-common/iterator": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-0.3.6.tgz",
- "integrity": "sha512-nNdcleTj3qLlchH17HI/xqOc6sNgOqJ5DdRR0nOEVdJVZCo5bfqoQTu6+Q9ZwMhuETuR2d86MSlmaL2FVHnPjQ==",
+ "integrity": "sha1-/6FLXYkTxIMKXSMdPssHXQLKfm0=",
"dev": true
},
"@ts-common/json": {
@@ -540,7 +540,7 @@
"@types/mocha": {
"version": "5.2.7",
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
- "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==",
+ "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=",
"dev": true
},
"@types/node": {
@@ -1769,9 +1769,9 @@
}
},
"dot-prop": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz",
- "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"dev": true,
"requires": {
"is-obj": "^2.0.0"
@@ -3008,7 +3008,7 @@
"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": "sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==",
+ "integrity": "sha1-MK80rqtb7gQx2oBdrA6yG1dL9j0=",
"dev": true,
"requires": {
"call-me-maybe": "^1.0.1",
@@ -3717,9 +3717,9 @@
}
},
"node-fetch": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
- "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
"node-object-hash": {
@@ -4430,7 +4430,7 @@
"prettier": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
+ "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
"dev": true
},
"process-nextick-args": {
@@ -5380,7 +5380,7 @@
"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==",
+ "integrity": "sha1-yDD2V/k/HqhGgZ6SkJL1/lmD6Xc=",
"dev": true
},
"uglify-js": {
diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml
index 56c9816bf51f..6b0e571283a1 100644
--- a/preproduction-azure-pipelines.yml
+++ b/preproduction-azure-pipelines.yml
@@ -16,7 +16,6 @@ variables:
PREPRODUCTION_PIPELINE: "true"
jobs:
- - template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/ModelValidation.yml
- template: .azure-pipelines/LintDiff.yml
- template: .azure-pipelines/Avocado.yml
diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json
new file mode 100644
index 000000000000..4ba660dc88c7
--- /dev/null
+++ b/profile/2020-09-01-hybrid.json
@@ -0,0 +1,606 @@
+{
+ "info": {
+ "name": "2020-09-01-hybrid",
+ "description": "Profile definition targeted for hybrid applications that could run on azure stack general availability version and azure cloud for 2010."
+ },
+ "resource-manager": {
+ "microsoft.authorization": {
+ "2016-09-01": [
+ {
+ "resourceType": "locks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-09-01/locks.json"
+ }
+ ],
+ "2016-12-01": [
+ {
+ "resourceType": "policyAssignments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json"
+ },
+ {
+ "resourceType": "policyDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json"
+ }
+ ],
+ "2015-07-01": [
+ {
+ "resourceType": "permissions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "roleAssignments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "roleDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "providerOperations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ }
+ ]
+ },
+ "microsoft.commerce": {
+ "2015-06-01-preview":[
+ {
+ "resourceType": "estimateResourceSpend",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "subscriberUsageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "usageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ }
+ ]
+ },
+ "microsoft.compute": {
+ "2020-06-01": [
+ {
+ "resourceType": "availabilitySets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "images",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/publishers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/vmSizes",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachines",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachines/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualmachineScaleSets/networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/virtualMachines",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ }
+ ],
+ "2019-07-01": [
+ {
+ "resourceType": "disks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json"
+ },
+ {
+ "resourceType": "snapshots",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json"
+ }
+ ]
+ },
+ "microsoft.databoxedge":{
+ "2019-08-01": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "dataBoxEdgeDevices/checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ }
+ ]
+ },
+ "microsoft.devices": {
+ "2019-07-01-preview":[
+ {
+ "resourceType": "usages",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/skus",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "IotHubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders/operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ }
+ ]
+ },
+ "microsoft.eventhubs": {
+ "2018-01-01-preview": [
+ {
+ "resourceType": "availableClusterRegions",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json"
+ },
+ {
+ "resourceType": "clusters",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json"
+ },
+ {
+ "resourceType": "namespaces",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json"
+ }
+ ],
+ "2017-04-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json"
+ },
+ {
+ "resourceType": "namespaces/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/consumerGroups",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json"
+ },
+ {
+ "resourceType": "sku",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json"
+ }
+ ]
+ },
+ "microsoft.insights": {
+ "2018-01-01": [
+ {
+ "resourceType": "metricDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json"
+ },
+ {
+ "resourceType": "metrics",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json"
+ }
+ ],
+ "2017-05-01-preview": [
+ {
+ "resourceType": "diagnosticSettings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json"
+ },
+ {
+ "resourceType": "diagnosticSettingCategories",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json"
+ }
+ ],
+ "2015-04-01": [
+ {
+ "resourceType": "eventCategories",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json"
+ }
+ ]
+ },
+ "microsoft.keyvault": {
+ "2019-09-01": [
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/providers.json"
+ },
+ {
+ "resourceType": "vaults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json"
+ },
+ {
+ "resourceType": "vaults/accessPolicies",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json"
+ },
+ {
+ "resourceType": "vaults/secrets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/secrets.json"
+ }
+ ]
+ },
+ "microsoft.network": {
+ "2018-11-01": [
+ {
+ "resourceType": "connections",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "loadBalancers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json"
+ },
+ {
+ "resourceType": "localNetworkGateways",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/operationResults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json"
+ },
+ {
+ "resourceType": "networkSecurityGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json"
+ },
+ {
+ "resourceType": "publicIpAddresses",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json"
+ },
+ {
+ "resourceType": "routeTables",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json"
+ },
+ {
+ "resourceType": "virtualNetworkGateways",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "virtualNetworks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json"
+ }
+ ],
+ "2016-04-01": [
+ {
+ "resourceType": "dnsZones",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/stable/2016-04-01/dns.json"
+ }
+ ]
+ },
+ "microsoft.resources": {
+ "2016-06-01": [
+ {
+ "resourceType": "subscriptions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json"
+ },
+ {
+ "resourceType": "subscriptions/locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json"
+ },
+ {
+ "resourceType": "tenants",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json"
+ }
+ ],
+ "2019-10-01": [
+ {
+ "resourceType": "deployments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "deployments/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "links",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "providers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "resourceGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/operationresults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/providers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resourceGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resourceGroups/resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/tagNames",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/tagNames/tagValues",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json"
+ }
+ ]
+ },
+ "microsoft.storage": {
+ "2019-06-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/blobServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/queueServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/tableServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ }
+ ]
+ },
+ "microsoft.web": {
+ "2018-02-01": [
+ {
+ "resourceType": "certificates",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Certificates.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "checknameavailability",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "metadata",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/domainOwnershipIdentifiers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/hostNameBindings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/instances",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/instances/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/hostNameBindings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/instances",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/instances/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "serverFarms",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ }
+ ],
+ "2016-09-01": [
+ {
+ "resourceType": "serverFarms/metricDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ },
+ {
+ "resourceType": "serverFarms/metrics",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ },
+ {
+ "resourceType": "serverFarms/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ }
+ ],
+ "2016-03-01": [
+ {
+ "resourceType": "availableStacks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Provider.json"
+ },
+ {
+ "resourceType": "deploymentLocations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "georegions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "listSitesAssignedToHostName",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "publishingUsers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "recommendations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Recommendations.json"
+ },
+ {
+ "resourceType": "sourceControls",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "validate",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ }
+ ]
+ }
+ },
+ "data-plane": {
+ "microsoft.keyvault": {
+ "2016-10-01": [
+ {
+ "resourceType": "*",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json"
+ }
+ ]
+ },
+ "microsoft.storage": {
+ "resourceType": "*",
+ "2019-07-07": []
+ }
+ }
+}
\ No newline at end of file
diff --git a/scripts/breaking-change.ts b/scripts/breaking-change.ts
deleted file mode 100644
index b79c27007b1a..000000000000
--- a/scripts/breaking-change.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License in the project root for license information.
-
-import * as scripts from '@azure/rest-api-specs-scripts'
-
-// magic starts here
-scripts.breakingChange().then(() => {
- console.log(`Thanks for using breaking change tool to review.`);
- console.log(`If you encounter any issue(s), please open issue(s) at https://github.com/Azure/openapi-diff/issues .`);
-}).catch(err => {
- console.log(err);
- process.exitCode = 1;
-})
diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts
index 56d169adeb42..caed08c5e71e 100644
--- a/scripts/multiapi.ts
+++ b/scripts/multiapi.ts
@@ -12,15 +12,14 @@ type Code = {
readonly "input-file"?: ReadonlyArray|string
}
const magic = `yaml $(tag) == 'all-api-versions' /* autogenerated */`;
-const header = `## Multi-API/Profile support for AutoRest v3 generators`;
+const pathRegex = /microsoft\.(\w+)[\\\/]\S*[\\\/](\d{4}-\d{2}-\d{2}(|-preview))[\\\/]/i;
-
-const main = async (specificationDir: string, profilesDir: string) => {
+const main = async (specificationDir: string) => {
try {
const list = fs.recursiveReaddir(specificationDir)
for await (const file of list) {
const f = path.parse(file)
- if (f.base === "readme.md") {
+ if (f.base === "readme.md" && f.dir.endsWith('resource-manager')) {
const original_content = (await fs.readFile(file)).toString()
let content = original_content;
const readMe = cm.parse(content)
@@ -36,70 +35,68 @@ const main = async (specificationDir: string, profilesDir: string) => {
if (DOC ) {
const y = DOC['input-file']
if (typeof y === "string") {
- set.add(`$(this-folder)/${y}`)
+ set.add(y)
} else if (it.isArray(y)) {
for (const i of y) {
- set.add(`$(this-folder)/${i}`)
+ set.add(i)
}
}
}
-
}
}
- if( !content.includes(header) ) {
- // add the header to the content
- content = content + `
-${header}
+ let map = new Map();
+ for (let input of set) {
+ let match = pathRegex.exec(input);
+ if (!!match) {
+ let tagName = `schema-${match[1].toLowerCase()}-${match[2]}`;
+ if (!map.has(tagName)) {
+ map.set(tagName, []);
+ }
+ let array = map.get(tagName);
+ if (!!array) {
+ array.push(input);
+ }
+ }
+ }
+ map = new Map(Array.from(map.entries()).sort().reverse());
+ let schemaReadmeContent =
+`## AzureResourceSchema
-AutoRest V3 generators require the use of \`--tag=all-api-versions\` to select api files.
+These settings apply only when \`--azureresourceschema\` is specified on the command line.
-This block is updated by an automatic script. Edits may be lost!
+### AzureResourceSchema multi-api
-\`\`\` ${magic}
+\`\`\` yaml $(azureresourceschema) && $(multiapi)
+${yaml.dump({ 'batch': it.toArray(it.map(map.keys(), (tagName) => ({'tag': tagName})))}, { lineWidth: 1000})}
\`\`\`
-If there are files that should not be in the \`all-api-versions\` set,
-uncomment the \`exclude-file\` section below and add the file paths.
+Please also specify \`--azureresourceschema-folder=\`.
+`
+ map.forEach((inputList, tagName) => {
+ schemaReadmeContent +=
+`
+### Tag: ${tagName} and azureresourceschema
+
+\`\`\` yaml $(tag) == '${tagName}' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
-\`\`\` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+# all the input files in this apiVersion
+${yaml.dump({ 'input-file': it.toArray(inputList)}, { lineWidth: 1000})}
\`\`\`
-
`
- }
- // update the autogenrated block with the new content.
- /* const readMeMulti = cm.createNode(
- "document",
- cm.createNode(
- "heading",
- cm.createText("# Multi-API/Profile support for AutoRest v3 generators")
- ),
- cm.createCodeBlock(
- magic,
- yaml.dump({ "input-file": it.toArray(set), "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 })
- )
- )
- const block1 =cm.markDownExToString({ markDown: cm.createCodeBlock(
- magic,
- yaml.dump({
- "input-file": it.toArray(set),
- "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 })
- )});*/
- const block =
-`\`\`\` ${magic}
-# include the azure profile definitions from the standard location
-require: $(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md
+ });
-# all the input files across all versions
-${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )}
-\`\`\``
- content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, block)
+ // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, '')
+ // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions'[\S\s]*?```/g, '')
+ // content = content.replace( /## Multi-API\/Profile support for AutoRest v3 generators[\S\s]*/g, '')
- if(original_content !== content ){
- console.log(`Updating: ${file}`);
- fs.writeFile(path.join(f.dir, "readme.md"), content)
- }
+ // if(original_content !== content ){
+ // console.log(`Updating: ${file}`);
+ // fs.writeFile(path.join(f.dir, "readme.md"), content)
+ // }
+
+ console.log(`Rewriting: ${f.dir}/readme.azureresourceschema.md`);
+ fs.writeFile(path.join(f.dir, "readme.azureresourceschema.md"), schemaReadmeContent);
}
}
@@ -108,4 +105,4 @@ ${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )}
}
}
-main(path.join(process.cwd(), "specification"), path.join(process.cwd(), "profiles"))
+main(path.join(process.cwd(), "specification"))
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b91b439d843d
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-enterpriseknowledgegraph-2018-12-03
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-enterpriseknowledgegraph-2018-12-03 and azureresourceschema
+
+``` yaml $(tag) == 'schema-enterpriseknowledgegraph-2018-12-03' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
+
+```
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
index 18d7c396724d..f829ac9dfbb7 100644
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
@@ -75,6 +75,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js EnterpriseKnowledgeGraph/resource-manager
```
## C#
@@ -91,27 +94,7 @@ csharp:
clear-output-folder: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/addons/resource-manager/readme.azureresourceschema.md b/specification/addons/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ae05babd8222
--- /dev/null
+++ b/specification/addons/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-addons-2018-03-01
+ - tag: schema-addons-2017-05-15
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-addons-2018-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-addons-2018-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Addons/preview/2018-03-01/addons-swagger.json
+
+```
+
+### Tag: schema-addons-2017-05-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-addons-2017-05-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Addons/preview/2017-05-15/Addons.json
+
+```
diff --git a/specification/addons/resource-manager/readme.md b/specification/addons/resource-manager/readme.md
index 50f7283f8527..324507aa8113 100644
--- a/specification/addons/resource-manager/readme.md
+++ b/specification/addons/resource-manager/readme.md
@@ -50,6 +50,17 @@ input-file:
---
# Code Generation
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js addons/resource-manager
+```
---
## C#
@@ -182,28 +193,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
+## AzureResourceSchema
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Addons/preview/2018-03-01/addons-swagger.json
- - $(this-folder)/Microsoft.Addons/preview/2017-05-15/Addons.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1160a311964b
--- /dev/null
+++ b/specification/adhybridhealthservice/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-adhybridhealthservice-2014-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-adhybridhealthservice-2014-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-adhybridhealthservice-2014-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ADHybridHealthService\stable\2014-01-01\ADHybridHealthService.json
+
+```
diff --git a/specification/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md
index 5628efb7da58..33c75ef311d4 100644
--- a/specification/adhybridhealthservice/resource-manager/readme.md
+++ b/specification/adhybridhealthservice/resource-manager/readme.md
@@ -54,6 +54,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js adhybridhealthservice/resource-manager
```
@@ -94,27 +97,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.ADHybridHealthService\stable\2014-01-01\ADHybridHealthService.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json
new file mode 100644
index 000000000000..eb9395934bae
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json
@@ -0,0 +1,1040 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-07-01-preview",
+ "title": "adp",
+ "description": "Microsoft Autonomous Development Platform"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.AutonomousDevelopmentPlatform/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Autonomous Development Platform provider operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List operations": {
+ "$ref": "./examples/AdpOperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_List",
+ "description": "List all ADP accounts available under the subscription",
+ "x-ms-examples": {
+ "List accounts": {
+ "$ref": "./examples/AdpAccountsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "List all ADP accounts available under the resource group",
+ "x-ms-examples": {
+ "List accounts by resource group": {
+ "$ref": "./examples/AdpAccountsListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "description": "Gets the properties of an ADP account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get account": {
+ "$ref": "./examples/AdpAccountGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "x-ms-long-running-operation": true,
+ "description": "Updates the properties of an existing ADP account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the current ADP account.",
+ "schema": {
+ "$ref": "#/definitions/AccountPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "The resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch account": {
+ "$ref": "./examples/AdpAccountPatch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "description": "Creates or updates an ADP account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the ADP account.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "The resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put account": {
+ "$ref": "./examples/AdpAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "description": "Deletes an ADP account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account was successfully deleted."
+ },
+ "202": {
+ "description": "The ADP account will be deleted asynchronously."
+ },
+ "204": {
+ "description": "The ADP account does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete account": {
+ "$ref": "./examples/AdpAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools": {
+ "get": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_List",
+ "description": "Lists the data pools under the ADP account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of data pools that was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/DataPoolList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Data Pools": {
+ "$ref": "./examples/AdpDataPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools/{dataPoolName}": {
+ "get": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Get",
+ "description": "Gets the properties of a Data Pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool that was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Data Pool": {
+ "$ref": "./examples/AdpDataPoolGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Update",
+ "description": "Updates the properties of an existing Data Pool.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the Data Pool.",
+ "schema": {
+ "$ref": "#/definitions/DataPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "201": {
+ "description": "The Data Pool will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Data Pool": {
+ "$ref": "./examples/AdpDataPoolPatch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_CreateOrUpdate",
+ "description": "Creates or updates a Data Pool.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the Data Pool.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "201": {
+ "description": "The Data Pool will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Data Pool": {
+ "$ref": "./examples/AdpDataPoolPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Delete",
+ "description": "Deletes a Data Pool.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was successfully deleted."
+ },
+ "202": {
+ "description": "The Data Pool will be deleted asynchronously."
+ },
+ "204": {
+ "description": "The Data Pool does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Data Pool": {
+ "$ref": "./examples/AdpDataPoolDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Tags": {
+ "description": "Resource tags",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ }
+ }
+ },
+ "Account": {
+ "description": "An ADP account.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "List of account properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccountProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "AccountPatch": {
+ "description": "An ADP account.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "List of account properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccountProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tags"
+ }
+ ]
+ },
+ "AccountProperties": {
+ "description": "ADP account properties",
+ "properties": {
+ "accountId": {
+ "description": "The account's data-plane ID",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the account at the time the operation was called.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AccountList": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "List of accounts and their properties."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ },
+ "description": "The list operation response, that contains the data pools and their properties."
+ },
+ "DataPool": {
+ "description": "An ADP Data Pool.",
+ "properties": {
+ "properties": {
+ "description": "List of data pool properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataPoolProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DataPoolPatch": {
+ "description": "An ADP Data Pool.",
+ "properties": {
+ "properties": {
+ "description": "List of data pool properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataPoolBaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DataPoolBaseProperties": {
+ "description": "Data Pool properties",
+ "properties": {
+ "dataPoolId": {
+ "description": "The Data Pool's data-plane ID",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the data pool at the time the operation was called.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataPoolLocation"
+ },
+ "minItems": 1,
+ "description": "Gets or sets the collection of locations where Data Pool resources should be created."
+ }
+ }
+ },
+ "DataPoolProperties": {
+ "description": "Data Pool properties",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataPoolBaseProperties"
+ }
+ ],
+ "required": [
+ "locations"
+ ]
+ },
+ "DataPoolLocation": {
+ "description": "Location of a Data Pool",
+ "properties": {
+ "name": {
+ "description": "The location name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "DataPoolList": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataPool"
+ },
+ "description": "List of data pools and their properties."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ },
+ "description": "The list operation response, that contains the data pools and their properties."
+ },
+ "Operation": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Additional details about an operation.",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "serviceSpecification": {
+ "description": "Details about a service operation.",
+ "$ref": "#/definitions/OperationServiceSpecification"
+ }
+ }
+ },
+ "OperationServiceSpecification": {
+ "description": "Details about a service operation.",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Details about operations related to logs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLogSpecification"
+ }
+ },
+ "metricSpecifications": {
+ "description": "Details about operations related to metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecification"
+ }
+ }
+ }
+ },
+ "OperationLogSpecification": {
+ "description": "Details about an operation related to logs.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the log category.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name.",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blobs created in the customer storage account, per hour.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationMetricSpecification": {
+ "description": "Details about an operation related to metrics.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "The description of the metric.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "The unit that the metric is measured in.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "The type of metric aggregation.",
+ "type": "string"
+ },
+ "enableRegionalMdmAccount": {
+ "description": "Whether or not the service is using regional MDM accounts.",
+ "type": "string"
+ },
+ "sourceMdmAccount": {
+ "description": "The name of the MDM account.",
+ "type": "string"
+ },
+ "sourceMdmNamespace": {
+ "description": "The name of the MDM namespace.",
+ "type": "string"
+ },
+ "availabilities": {
+ "description": "Defines how often data for metrics becomes available.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricAvailability"
+ }
+ }
+ }
+ },
+ "OperationMetricAvailability": {
+ "description": "Defines how often data for a metric becomes available.",
+ "type": "object",
+ "properties": {
+ "timeGrain": {
+ "description": "The granularity for the metric.",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob created in the customer storage account, per hour.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Available operations of the service.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ADP account.",
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*",
+ "maxLength": 50,
+ "x-ms-parameter-location": "method"
+ },
+ "DataPoolNameParameter": {
+ "name": "dataPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Data Pool.",
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*",
+ "maxLength": 50,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json
new file mode 100644
index 000000000000..f56df2a354f3
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json
new file mode 100644
index 000000000000..b26fb2fd4abb
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPatch.json
new file mode 100644
index 000000000000..52f5a7518d75
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPatch.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPut.json
new file mode 100644
index 000000000000..2eb9a55173d3
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPut.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "Global",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsList.json
new file mode 100644
index 000000000000..ec1224c955e4
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json
new file mode 100644
index 000000000000..d3a341af516f
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "adpClient"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolDelete.json
new file mode 100644
index 000000000000..ea2ac77d762c
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json
new file mode 100644
index 000000000000..6be7714e47a0
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "dataPoolId": "id",
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPatch.json
new file mode 100644
index 000000000000..3e1343f70936
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPatch.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPut.json
new file mode 100644
index 000000000000..3e1343f70936
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPut.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolsList.json
new file mode 100644
index 000000000000..61c1d13a4930
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolsList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "dataPoolId": "id",
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpOperationsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpOperationsList.json
new file mode 100644
index 000000000000..e2f05ce8376f
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpOperationsList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/read",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Read accounts",
+ "description": "Read accounts"
+ }
+ },
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/write",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Update accounts",
+ "description": "Update accounts"
+ }
+ },
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/delete",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Delete accounts",
+ "description": "Delete accounts"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/readme.az.md b/specification/adp/resource-manager/readme.az.md
new file mode 100644
index 000000000000..ad394bde867b
--- /dev/null
+++ b/specification/adp/resource-manager/readme.az.md
@@ -0,0 +1,12 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: adp
+ namespace: azure.mgmt.adp
+ package-name: azure-mgmt-adp
+az-output-folder: $(azure-cli-extension-folder)/src/adp
+python-sdk-output-folder: "$(az-output-folder)/azext_adp/vendored_sdks/adp"
+```
diff --git a/specification/adp/resource-manager/readme.azureresourceschema.md b/specification/adp/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..a641baec289a
--- /dev/null
+++ b/specification/adp/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-adp-2020-07-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-adp-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-adp-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json
+
+```
diff --git a/specification/adp/resource-manager/readme.cli.md b/specification/adp/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..bd1ae237a340
--- /dev/null
+++ b/specification/adp/resource-manager/readme.cli.md
@@ -0,0 +1,6 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+```
diff --git a/specification/adp/resource-manager/readme.csharp.md b/specification/adp/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..5ed6552b1f8c
--- /dev/null
+++ b/specification/adp/resource-manager/readme.csharp.md
@@ -0,0 +1,14 @@
+## C
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ namespace: Microsoft.Azure.Management.AutonomousDevelopmentPlatform
+ output-folder: $(csharp-sdks-folder)/adp/Microsoft.Azure.Management.AutonomousDevelopmentPlatform/Generated
+```
diff --git a/specification/adp/resource-manager/readme.go.md b/specification/adp/resource-manager/readme.go.md
new file mode 100644
index 000000000000..428c70e15dbb
--- /dev/null
+++ b/specification/adp/resource-manager/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: adp
+ clear-output-folder: true
+```
+
+### Tag: package-2020-07-01-preview and go
+
+These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-07-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/adp/mgmt/2019-07-01-preview
+```
diff --git a/specification/adp/resource-manager/readme.md b/specification/adp/resource-manager/readme.md
new file mode 100644
index 000000000000..743ddf7e0100
--- /dev/null
+++ b/specification/adp/resource-manager/readme.md
@@ -0,0 +1,88 @@
+# adp
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for adp.
+
+## 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 adp.
+
+```yaml
+title: AdpManagementClient
+openapi-type: arm
+tag: package-2020-07-01-preview
+```
+
+### Tag: package-2020-07-01-preview
+
+These settings apply only when `--tag=package-2020-07-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-01-preview'
+input-file:
+ - Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.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-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_adp']
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js adp/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/adp/resource-manager/readme.python.md b/specification/adp/resource-manager/readme.python.md
new file mode 100644
index 000000000000..07758b81e1ea
--- /dev/null
+++ b/specification/adp/resource-manager/readme.python.md
@@ -0,0 +1,35 @@
+## 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-adp
+clear-output-folder: true
+no-namespace-folders: true
+modelerfour:
+ lenient-model-deduplication: true
+```
+
+```yaml $(multiapi)
+clear-output-folder: true
+batch:
+ - tag: package-2020-07-01-preview
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/
+clear-output-folder: false
+perform-load: false
+```
+
+``` yaml $(tag) == 'package-2020-07-01-preview'
+namespace: azure.mgmt.adp.v2020_07_01_preview
+output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v2020_07_01_preview
+python:
+ namespace: azure.mgmt.adp.v2020_07_01_preview
+ output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v2020_07_01_preview
+```
diff --git a/specification/adp/resource-manager/readme.ruby.md b/specification/adp/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..cedab1ae4f5d
--- /dev/null
+++ b/specification/adp/resource-manager/readme.ruby.md
@@ -0,0 +1,25 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_adp
+package-version: 2020-07-01-preview
+azure-arm: true
+```
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-07-01-preview
+```
+
+
+### Tag: package-2020-07-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-07-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-07-01-preview' && $(ruby)
+namespace: Azure::AutonomousDevelopmentPlatform::Mgmt::V2020_07_01_preview
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_adp/lib
+```
diff --git a/specification/adp/resource-manager/readme.typescript.md b/specification/adp/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..5bc90c6d3cbd
--- /dev/null
+++ b/specification/adp/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "adp"
+ output-folder: "$(typescript-sdks-folder)/sdk/adp/arm-adp"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+ override-client-name: AdpManagementClient
+```
diff --git a/specification/advisor/resource-manager/readme.azureresourceschema.md b/specification/advisor/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..8419f1c1778c
--- /dev/null
+++ b/specification/advisor/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,72 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-advisor-2020-07-01-preview
+ - tag: schema-advisor-2020-01-01
+ - tag: schema-advisor-2017-04-19
+ - tag: schema-advisor-2017-03-31
+ - tag: schema-advisor-2016-07-12-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-advisor-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
+
+```
+
+### Tag: schema-advisor-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2020-01-01/advisor.json
+
+```
+
+### Tag: schema-advisor-2017-04-19 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2017-04-19' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2017-04-19/advisor.json
+
+```
+
+### Tag: schema-advisor-2017-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2017-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2017-03-31/advisor.json
+
+```
+
+### Tag: schema-advisor-2016-07-12-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2016-07-12-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
+
+```
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 1ac722c6bee0..a686c40128f2 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -90,6 +90,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js advisor/resource-manager
```
## Python
@@ -145,30 +148,7 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-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.Advisor/preview/2020-07-01-preview/advisor.json
- - $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json
- - $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json
- - $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json
- - $(this-folder)/Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-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/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
new file mode 100644
index 000000000000..a441d6e0b967
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
@@ -0,0 +1,944 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-05-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure Action Rules CRUD operations."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "summary": "Get all action rule in a given subscription",
+ "description": "List all action rules of the subscription and given input filters",
+ "operationId": "ActionRules_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/impactedScope"
+ },
+ {
+ "$ref": "#/parameters/description"
+ },
+ {
+ "$ref": "#/parameters/alertRuleId"
+ },
+ {
+ "$ref": "#/parameters/actionGroup"
+ },
+ {
+ "$ref": "#/parameters/actionRuleName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesSubscriptionWide": {
+ "$ref": "./examples/ActionRules_List_Subscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "summary": "Get all action rules created in a resource group",
+ "operationId": "ActionRules_ListByResourceGroup",
+ "description": "List all action rules of the subscription, created in given resource group and given input filters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/impactedScope"
+ },
+ {
+ "$ref": "#/parameters/description"
+ },
+ {
+ "$ref": "#/parameters/alertRuleId"
+ },
+ {
+ "$ref": "#/parameters/actionGroup"
+ },
+ {
+ "$ref": "#/parameters/actionRuleName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesResourceGroupWide": {
+ "$ref": "./examples/ActionRules_List_ResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
+ "get": {
+ "summary": "Get action rule by name",
+ "operationId": "ActionRules_GetByName",
+ "description": "Get a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be fetched",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the specific action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetActionRuleById": {
+ "$ref": "./examples/ActionRules_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Create/update an action rule",
+ "operationId": "ActionRules_CreateUpdate",
+ "description": "Creates/Updates a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be created/updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRule",
+ "in": "body",
+ "description": "action rule to be created/updated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutActionRule": {
+ "$ref": "./examples/ActionRules_Create_SuppressionRule.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete action rule",
+ "description": "Deletes a given action rule",
+ "operationId": "ActionRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be deleted",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns true if deleted successfully",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteActionRule": {
+ "$ref": "./examples/ActionRules_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Patch action rule",
+ "description": "Update enabled flag and/or tags for the given action rule",
+ "operationId": "ActionRules_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRulePatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchObject"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchActionRule": {
+ "$ref": "./examples/ActionRules_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "Resource group name where the resource is created.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2019-05-05-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ },
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "filter by alert rule description",
+ "name": "description",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "alertRuleId": {
+ "description": "filter by alert rule id",
+ "name": "alertRuleId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "actionGroup": {
+ "description": "filter by action group configured as part of action rule",
+ "name": "actionGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "actionRuleName": {
+ "description": "filter by action rule name",
+ "name": "name",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "impactedScope": {
+ "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.",
+ "name": "impactedScope",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "ManagedResource": {
+ "description": "An azure managed resource object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "Scope": {
+ "type": "object",
+ "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.",
+ "properties": {
+ "scopeType": {
+ "type": "string",
+ "description": "type of target scope",
+ "enum": [
+ "ResourceGroup",
+ "Resource",
+ "Subscription"
+ ],
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Condition": {
+ "type": "object",
+ "description": "condition to trigger an action rule",
+ "properties": {
+ "operator": {
+ "type": "string",
+ "description": "operator for a given condition",
+ "enum": [
+ "Equals",
+ "NotEquals",
+ "Contains",
+ "DoesNotContain"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of values to match for a given condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Conditions": {
+ "type": "object",
+ "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
+ "properties": {
+ "severity": {
+ "description": "filter alerts by severity",
+ "$ref": "#/definitions/Condition"
+ },
+ "monitorService": {
+ "description": "filter alerts by monitor service",
+ "$ref": "#/definitions/Condition"
+ },
+ "monitorCondition": {
+ "description": "filter alerts by monitor condition",
+ "$ref": "#/definitions/Condition"
+ },
+ "targetResourceType": {
+ "description": "filter alerts by target resource type",
+ "$ref": "#/definitions/Condition"
+ },
+ "alertRuleId": {
+ "description": "filter alerts by alert rule id",
+ "$ref": "#/definitions/Condition"
+ },
+ "description": {
+ "description": "filter alerts by alert rule description",
+ "$ref": "#/definitions/Condition"
+ },
+ "alertContext": {
+ "description": "filter alerts by alert context (payload)",
+ "$ref": "#/definitions/Condition"
+ }
+ }
+ },
+ "SuppressionConfig": {
+ "type": "object",
+ "description": "Suppression logic for a given action rule",
+ "required": [
+ "recurrenceType"
+ ],
+ "properties": {
+ "recurrenceType": {
+ "type": "string",
+ "description": "Specifies when the suppression should be applied",
+ "enum": [
+ "Always",
+ "Once",
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "SuppressionType",
+ "modelAsString": true
+ }
+ },
+ "schedule": {
+ "description": "suppression schedule configuration",
+ "$ref": "#/definitions/SuppressionSchedule"
+ }
+ }
+ },
+ "SuppressionSchedule": {
+ "type": "object",
+ "description": "Schedule for a given suppression configuration.",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "description": "Start date for suppression"
+ },
+ "endDate": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time for suppression"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "recurrenceValues": {
+ "type": "array",
+ "description": "Specifies the values for recurrence pattern",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "ActionRule": {
+ "description": "Action rule object containing target scope, conditions and suppression logic",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "action rule properties",
+ "$ref": "#/definitions/ActionRuleProperties"
+ }
+ }
+ },
+ "ActionRuleProperties": {
+ "description": "Action rule properties defining scope, conditions, suppression logic for action rule",
+ "discriminator": "type",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "scope": {
+ "description": "scope on which action rule will apply",
+ "$ref": "#/definitions/Scope"
+ },
+ "conditions": {
+ "description": "conditions on which alerts will be filtered",
+ "$ref": "#/definitions/Conditions"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of action rule"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "createdBy": {
+ "type": "string",
+ "description": "Created by user name.",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Indicates type of action rule",
+ "enum": [
+ "Suppression",
+ "ActionGroup",
+ "Diagnostics"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Suppression": {
+ "title": "Suppression based Action Rule",
+ "description": "Action rule with suppression configuration",
+ "required": [
+ "suppressionConfig"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "suppressionConfig": {
+ "description": "suppression configuration for the action rule",
+ "$ref": "#/definitions/SuppressionConfig"
+ }
+ }
+ }
+ ]
+ },
+ "ActionGroup": {
+ "title": "Action Group based Action Rule",
+ "description": "Action rule with action group configuration",
+ "required": [
+ "actionGroupId"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "actionGroupId": {
+ "type": "string",
+ "description": "Action group to trigger if action rule matches"
+ }
+ }
+ }
+ ]
+ },
+ "Diagnostics": {
+ "title": "Diagnostics based Action Rule",
+ "description": "Action rule with diagnostics configuration",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ "ActionRulesList": {
+ "description": "List of action rules",
+ "properties": {
+ "nextLink": {
+ "type": "string",
+ "description": "URL to fetch the next set of action rules"
+ },
+ "value": {
+ "type": "array",
+ "description": "List of action rules",
+ "items": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ }
+ }
+ },
+ "PatchProperties": {
+ "description": "Action rule properties supported by patch",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PatchObject": {
+ "description": "Data contract for patch",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "properties supported by patch operation",
+ "$ref": "#/definitions/PatchProperties"
+ },
+ "tags": {
+ "type": "object",
+ "description": "tags to be updated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
index aac0edfadb87..8ae19f29a9e5 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
@@ -158,7 +158,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
+ "$ref": "#/definitions/errorResponse"
}
}
},
@@ -201,7 +201,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
+ "$ref": "#/definitions/errorResponse"
}
}
},
@@ -240,7 +240,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
+ "$ref": "#/definitions/errorResponse"
}
}
},
@@ -276,7 +276,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
+ "$ref": "#/definitions/errorResponse"
}
}
},
@@ -345,7 +345,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
+ "$ref": "#/definitions/errorResponse"
}
}
},
@@ -355,1456 +355,420 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": {
- "get": {
- "operationId": "SmartGroups_GetAll",
- "summary": "Get all Smart Groups within a specified subscription",
- "description": "List all the Smart Groups within a specified subscription. ",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/monitorCondition"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/smartGroupState"
- },
- {
- "$ref": "#/parameters/timeRange"
- },
- {
- "$ref": "#/parameters/pageCount"
- },
- {
- "$ref": "#/parameters/smartGroupsSortBy"
- },
- {
- "$ref": "#/parameters/sortOrder"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK. Returns list of all smartGroups.",
- "schema": {
- "$ref": "#/definitions/smartGroupsList",
- "description": "List of smart groups in value property."
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List": {
- "$ref": "./examples/SmartGroups_List.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
- "get": {
- "operationId": "SmartGroups_GetById",
- "summary": "Get information related to a specific Smart Group.",
- "description": "Get information related to a specific Smart Group.",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the group with the specified smart group Id.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get": {
- "$ref": "./examples/SmartGroups_GetById.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
- "post": {
- "operationId": "SmartGroups_ChangeState",
- "description": "Change the state of a Smart Group.",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- },
- {
- "$ref": "#/parameters/newState"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Smart Group state updated.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "changestate": {
- "$ref": "./examples/SmartGroups_ChangeState.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
- "get": {
- "operationId": "SmartGroups_GetHistory",
- "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the list of changes of smart group.",
- "schema": {
- "$ref": "#/definitions/smartGroupModification"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Resolve": {
- "$ref": "./examples/SmartGroups_History.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "summary": "Get all action rule in a given subscription",
- "description": "List all action rules of the subscription and given input filters",
- "operationId": "ActionRules_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/impactedScope"
- },
- {
- "$ref": "#/parameters/description"
- },
- {
- "$ref": "#/parameters/alertRuleId"
- },
- {
- "$ref": "#/parameters/actionGroup"
- },
- {
- "$ref": "#/parameters/actionRuleName"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesSubscriptionWide": {
- "$ref": "./examples/ActionRules_List_Subscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "summary": "Get all action rules created in a resource group",
- "operationId": "ActionRules_ListByResourceGroup",
- "description": "List all action rules of the subscription, created in given resource group and given input filters",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/impactedScope"
- },
- {
- "$ref": "#/parameters/description"
- },
- {
- "$ref": "#/parameters/alertRuleId"
- },
- {
- "$ref": "#/parameters/actionGroup"
- },
- {
- "$ref": "#/parameters/actionRuleName"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesResourceGroupWide": {
- "$ref": "./examples/ActionRules_List_ResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
- "get": {
- "summary": "Get action rule by name",
- "operationId": "ActionRules_GetByName",
- "description": "Get a specific action rule",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of action rule that needs to be fetched",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the specific action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "GetActionRuleById": {
- "$ref": "./examples/ActionRules_GetById.json"
- }
- }
- },
- "put": {
- "summary": "Create/update an action rule",
- "operationId": "ActionRules_CreateUpdate",
- "description": "Creates/Updates a specific action rule",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of action rule that needs to be created/updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRule",
- "in": "body",
- "description": "action rule to be created/updated",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the created/updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PutActionRule": {
- "$ref": "./examples/ActionRules_Create_SuppressionRule.json"
- }
- }
- },
- "delete": {
- "summary": "Delete action rule",
- "description": "Deletes a given action rule",
- "operationId": "ActionRules_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name that needs to be deleted",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns true if deleted successfully",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "type": "boolean"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "DeleteActionRule": {
- "$ref": "./examples/ActionRules_Delete.json"
- }
- }
- },
- "patch": {
- "summary": "Patch action rule",
- "description": "Update enabled flag and/or tags for the given action rule",
- "operationId": "ActionRules_Update",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name that needs to be updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRulePatch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PatchObject"
- },
- "description": "Parameters supplied to the operation."
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the created/updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PatchActionRule": {
- "$ref": "./examples/ActionRules_Patch.json"
- }
- }
- }
- }
- },
- "parameters": {
- "subscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of the target subscription.",
- "minLength": 1
- },
- "resourceGroupName": {
- "name": "resourceGroupName",
- "description": "Resource group name where the resource is created.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "api-version": {
- "name": "api-version",
- "description": "client API version",
- "type": "string",
- "in": "query",
- "required": true,
- "enum": [
- "2019-05-05-preview"
- ],
- "x-ms-enum": {
- "name": "api-version",
- "modelAsString": true
- }
- },
- "alertId": {
- "name": "alertId",
- "description": "Unique ID of an alert instance.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "targetResourceGroup": {
- "description": "Filter by target resource group name. Default value is select all.",
- "name": "targetResourceGroup",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "targetResource": {
- "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
- "name": "targetResource",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "targetResourceType": {
- "description": "Filter by target resource type. Default value is select all.",
- "name": "targetResourceType",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "monitorService": {
- "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
- "name": "monitorService",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Application Insights",
- "ActivityLog Administrative",
- "ActivityLog Security",
- "ActivityLog Recommendation",
- "ActivityLog Policy",
- "ActivityLog Autoscale",
- "Log Analytics",
- "Nagios",
- "Platform",
- "SCOM",
- "ServiceHealth",
- "SmartDetector",
- "VM Insights",
- "Zabbix"
- ],
- "x-ms-enum": {
- "name": "MonitorService",
- "modelAsString": true
- }
- },
- "severity": {
- "description": "Filter by severity. Default value is select all.",
- "name": "severity",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Sev0",
- "Sev1",
- "Sev2",
- "Sev3",
- "Sev4"
- ],
- "x-ms-enum": {
- "name": "Severity",
- "modelAsString": true
- }
- },
- "smartGroupIdFilter": {
- "description": "Filter the alerts list by the Smart Group Id. Default value is none.",
- "name": "smartGroupId",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "smartGroupId": {
- "description": "Smart group unique id. ",
- "name": "smartGroupId",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "newState": {
- "description": "New state of the alert.",
- "name": "newState",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "alertState": {
- "description": "Filter by state of the alert instance. Default value is to select all.",
- "name": "alertState",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "smartGroupState": {
- "description": "Filter by state of the smart group. Default value is to select all.",
- "name": "smartGroupState",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "monitorCondition": {
- "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
- "name": "monitorCondition",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Fired",
- "Resolved"
- ],
- "x-ms-enum": {
- "name": "MonitorCondition",
- "modelAsString": true
- }
- },
- "alertRule": {
- "description": "Filter by specific alert rule. Default value is to select all.",
- "name": "alertRule",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "timeRange": {
- "description": "Filter by time range by below listed values. Default value is 1 day.",
- "name": "timeRange",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "1h",
- "1d",
- "7d",
- "30d"
- ],
- "x-ms-enum": {
- "name": "TimeRange",
- "modelAsString": true
- }
- },
- "customTimeRange": {
- "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.",
- "name": "customTimeRange",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeContext": {
- "description": "Include context which has contextual data specific to the monitor service. Default value is false'",
- "name": "includeContext",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeEgressConfig": {
- "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.",
- "name": "includeEgressConfig",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeSmartGroupsCount": {
- "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.",
- "name": "includeSmartGroupsCount",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "pageCount": {
- "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
- "name": "pageCount",
- "type": "integer",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "alertsSortBy": {
- "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.",
- "name": "sortBy",
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
"type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "name",
- "severity",
- "alertState",
- "monitorCondition",
- "targetResource",
- "targetResourceName",
- "targetResourceGroup",
- "targetResourceType",
- "startDateTime",
- "lastModifiedDateTime"
- ],
- "x-ms-enum": {
- "name": "AlertsSortByFields",
- "modelAsString": true
- }
+ "description": "The ID of the target subscription.",
+ "minLength": 1
},
- "alertsSummaryGroupBy": {
- "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.",
- "name": "groupby",
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
"type": "string",
"in": "query",
"required": true,
- "x-ms-parameter-location": "method",
- "enum": [
- "severity",
- "alertState",
- "monitorCondition",
- "monitorService",
- "signalType",
- "alertRule"
- ],
- "x-ms-enum": {
- "name": "AlertsSummaryGroupByFields",
- "modelAsString": true
- }
- },
- "smartGroupsSortBy": {
- "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.",
- "name": "sortBy",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
"enum": [
- "alertsCount",
- "state",
- "severity",
- "startDateTime",
- "lastModifiedDateTime"
+ "2019-05-05-preview"
],
"x-ms-enum": {
- "name": "SmartGroupsSortByFields",
+ "name": "api-version",
"modelAsString": true
}
},
- "sortOrder": {
- "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
- "name": "sortOrder",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "asc",
- "desc"
- ]
- },
- "select": {
- "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.",
- "name": "select",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "description": {
- "description": "filter by alert rule description",
- "name": "description",
+ "alertId": {
+ "name": "alertId",
+ "description": "Unique ID of an alert instance.",
"type": "string",
- "in": "query",
- "required": false,
+ "in": "path",
+ "required": true,
"x-ms-parameter-location": "method"
},
- "alertRuleId": {
- "description": "filter by alert rule id",
- "name": "alertRuleId",
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "actionGroup": {
- "description": "filter by action group configured as part of action rule",
- "name": "actionGroup",
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "actionRuleName": {
- "description": "filter by action rule name",
- "name": "name",
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "impactedScope": {
- "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.",
- "name": "impactedScope",
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
"type": "string",
"in": "query",
"required": false,
- "x-ms-parameter-location": "method"
- },
- "identifier": {
- "name": "identifier",
- "description": "Identification of the information to be retrieved by API call.",
- "type": "string",
- "in": "query",
- "required": true,
+ "x-ms-parameter-location": "method",
"enum": [
- "MonitorServiceList"
- ],
- "x-ms-enum": {
- "name": "identifier",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- }
- },
- "definitions": {
- "operation": {
- "description": "Operation provided by provider",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the operation"
- },
- "display": {
- "type": "object",
- "description": "Properties of the operation",
- "properties": {
- "provider": {
- "type": "string",
- "description": "Provider name"
- },
- "resource": {
- "type": "string",
- "description": "Resource name"
- },
- "operation": {
- "type": "string",
- "description": "Operation name"
- },
- "description": {
- "type": "string",
- "description": "Description of the operation"
- }
- }
- }
- }
- },
- "operationsList": {
- "description": "Lists the operations available in the AlertsManagement RP.",
- "properties": {
- "nextLink": {
- "description": "URL to fetch the next set of alerts.",
- "type": "string"
- },
- "value": {
- "description": "Array of operations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/operation"
- }
- }
- },
- "required": [
- "value"
- ]
- },
- "AlertsManagementErrorResponse": {
- "description": "An error response from the service.",
- "properties": {
- "error": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- },
- "errorResponseBody": {
- "description": "Details of error response.",
- "properties": {
- "code": {
- "type": "string",
- "description": "Error code, intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "Description of the error, intended for display in user interface."
- },
- "target": {
- "type": "string",
- "description": "Target of the particular error, for example name of the property."
- },
- "details": {
- "type": "array",
- "description": "A list of additional details about the error.",
- "items": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- }
- },
- "Resource": {
- "x-ms-azure-resource": true,
- "description": "An azure resource object",
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource Id"
- },
- "type": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource type"
- },
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource name"
- }
- }
- },
- "ManagedResource": {
- "description": "An azure managed resource object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location",
- "x-ms-mutability": [
- "create",
- "read"
- ]
- },
- "tags": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
- }
- },
- "required": [
- "location"
- ]
- },
- "alert": {
- "description": "An alert created in alert management service.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/alertProperties"
- }
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
}
},
- "alertsList": {
- "description": "List the alerts.",
- "properties": {
- "nextLink": {
- "description": "URL to fetch the next set of alerts.",
- "type": "string"
- },
- "value": {
- "description": "List of alerts",
- "type": "array",
- "items": {
- "$ref": "#/definitions/alert"
- }
- }
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
}
},
- "alertProperties": {
- "type": "object",
- "description": "Alert property bag",
- "properties": {
- "essentials": {
- "$ref": "#/definitions/essentials"
- },
- "context": {
- "$ref": "#/definitions/alertContext"
- },
- "egressConfig": {
- "$ref": "#/definitions/egressConfig"
- }
- }
+ "smartGroupIdFilter": {
+ "description": "Filter the alerts list by the Smart Group Id. Default value is none.",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
},
- "egressConfig": {
- "type": "object",
- "description": "Config which would be used for displaying the data in portal.",
- "readOnly": true
+ "newState": {
+ "description": "New state of the alert.",
+ "name": "newState",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
},
- "alertContext": {
- "type": "object",
- "description": "Information specific to the monitor service that gives more contextual details about the alert.",
- "readOnly": true
+ "alertState": {
+ "description": "Filter by state of the alert instance. Default value is to select all.",
+ "name": "alertState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
},
- "essentials": {
- "type": "object",
- "description": "This object contains consistent fields across different monitor services.",
- "properties": {
- "severity": {
- "type": "string",
- "description": "Severity of alert Sev0 being highest and Sev4 being lowest.",
- "readOnly": true,
- "enum": [
- "Sev0",
- "Sev1",
- "Sev2",
- "Sev3",
- "Sev4"
- ],
- "x-ms-enum": {
- "name": "Severity",
- "modelAsString": true
- }
- },
- "signalType": {
- "type": "string",
- "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.",
- "readOnly": true,
- "enum": [
- "Metric",
- "Log",
- "Unknown"
- ],
- "x-ms-enum": {
- "name": "SignalType",
- "modelAsString": true
- }
- },
- "alertState": {
- "type": "string",
- "description": "Alert object state, which can be modified by the user.",
- "readOnly": true,
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "monitorCondition": {
- "type": "string",
- "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.",
- "readOnly": true,
- "enum": [
- "Fired",
- "Resolved"
- ],
- "x-ms-enum": {
- "name": "MonitorCondition",
- "modelAsString": true
- }
- },
- "targetResource": {
- "type": "string",
- "description": "Target ARM resource, on which alert got created."
- },
- "targetResourceName": {
- "type": "string",
- "description": "Name of the target ARM resource name, on which alert got created."
- },
- "targetResourceGroup": {
- "type": "string",
- "description": "Resource group of target ARM resource, on which alert got created."
- },
- "targetResourceType": {
- "type": "string",
- "description": "Resource type of target ARM resource, on which alert got created."
- },
- "monitorService": {
- "type": "string",
- "description": "Monitor service on which the rule(monitor) is set.",
- "readOnly": true,
- "enum": [
- "Application Insights",
- "ActivityLog Administrative",
- "ActivityLog Security",
- "ActivityLog Recommendation",
- "ActivityLog Policy",
- "ActivityLog Autoscale",
- "Log Analytics",
- "Nagios",
- "Platform",
- "SCOM",
- "ServiceHealth",
- "SmartDetector",
- "VM Insights",
- "Zabbix"
- ],
- "x-ms-enum": {
- "name": "MonitorService",
- "modelAsString": true
- }
- },
- "alertRule": {
- "type": "string",
- "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.",
- "readOnly": true
- },
- "sourceCreatedId": {
- "type": "string",
- "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.",
- "readOnly": true
- },
- "smartGroupId": {
- "type": "string",
- "description": "Unique Id of the smart group",
- "readOnly": true
- },
- "smartGroupingReason": {
- "type": "string",
- "description": "Verbose reason describing the reason why this alert instance is added to a smart group",
- "readOnly": true
- },
- "startDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Creation time(ISO-8601 format) of alert instance.",
- "readOnly": true
- },
- "lastModifiedDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Last modification time(ISO-8601 format) of alert instance.",
- "readOnly": true
- },
- "monitorConditionResolvedDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.",
- "readOnly": true
- },
- "lastModifiedUserName": {
- "type": "string",
- "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.",
- "readOnly": true
- }
+ "monitorCondition": {
+ "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
+ "name": "monitorCondition",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
}
},
- "alertModification": {
- "description": "Alert Modification details",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
+ "alertRule": {
+ "description": "Filter by specific alert rule. Default value is to select all.",
+ "name": "alertRule",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "timeRange": {
+ "description": "Filter by time range by below listed values. Default value is 1 day.",
+ "name": "timeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "1h",
+ "1d",
+ "7d",
+ "30d"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/alertModificationProperties"
- }
+ "x-ms-enum": {
+ "name": "TimeRange",
+ "modelAsString": true
}
},
- "alertModificationProperties": {
- "type": "object",
- "description": "Properties of the alert modification item.",
+ "customTimeRange": {
+ "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.",
+ "name": "customTimeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeContext": {
+ "description": "Include context which has contextual data specific to the monitor service. Default value is false'",
+ "name": "includeContext",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeEgressConfig": {
+ "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.",
+ "name": "includeEgressConfig",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeSmartGroupsCount": {
+ "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.",
+ "name": "includeSmartGroupsCount",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "pageCount": {
+ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
+ "name": "pageCount",
+ "type": "integer",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "alertsSortBy": {
+ "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "name",
+ "severity",
+ "alertState",
+ "monitorCondition",
+ "targetResource",
+ "targetResourceName",
+ "targetResourceGroup",
+ "targetResourceType",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "AlertsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "alertsSummaryGroupBy": {
+ "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.",
+ "name": "groupby",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "severity",
+ "alertState",
+ "monitorCondition",
+ "monitorService",
+ "signalType",
+ "alertRule"
+ ],
+ "x-ms-enum": {
+ "name": "AlertsSummaryGroupByFields",
+ "modelAsString": true
+ }
+ },
+ "sortOrder": {
+ "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
+ "name": "sortOrder",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "select": {
+ "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.",
+ "name": "select",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "identifier": {
+ "name": "identifier",
+ "description": "Identification of the information to be retrieved by API call.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "MonitorServiceList"
+ ],
+ "x-ms-enum": {
+ "name": "identifier",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "operation": {
+ "description": "Operation provided by provider",
"properties": {
- "alertId": {
+ "name": {
"type": "string",
- "description": "Unique Id of the alert for which the history is being retrieved",
- "readOnly": true
+ "description": "Name of the operation"
},
- "modifications": {
- "type": "array",
- "description": "Modification details",
- "items": {
- "$ref": "#/definitions/alertModificationItem"
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation"
+ }
}
}
}
},
- "alertModificationItem": {
- "description": "Alert modification item.",
+ "operationsList": {
+ "description": "Lists the operations available in the AlertsManagement RP.",
"properties": {
- "modificationEvent": {
- "type": "string",
- "description": "Reason for the modification",
- "enum": [
- "AlertCreated",
- "StateChange",
- "MonitorConditionChange",
- "SeverityChange",
- "ActionRuleTriggered",
- "ActionRuleSuppressed",
- "ActionsTriggered",
- "ActionsSuppressed",
- "ActionsFailed"
- ],
- "x-ms-enum": {
- "name": "AlertModificationEvent"
- }
- },
- "oldValue": {
- "type": "string",
- "description": "Old value"
- },
- "newValue": {
- "type": "string",
- "description": "New value"
- },
- "modifiedAt": {
- "type": "string",
- "description": "Modified date and time"
- },
- "modifiedBy": {
- "type": "string",
- "description": "Modified user details (Principal client name)"
- },
- "comments": {
- "type": "string",
- "description": "Modification comments"
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
},
- "description": {
- "type": "string",
- "description": "Description of the modification"
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ }
}
- }
+ },
+ "required": [
+ "value"
+ ]
},
- "smartGroupModification": {
- "description": "Alert Modification details",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
+ "errorResponse": {
+ "description": "An error response from the service.",
"properties": {
- "properties": {
- "$ref": "#/definitions/smartGroupModificationProperties"
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
}
}
},
- "smartGroupModificationProperties": {
- "description": "Properties of the smartGroup modification item.",
+ "errorResponseBody": {
+ "description": "Details of error response.",
"properties": {
- "smartGroupId": {
+ "code": {
"type": "string",
- "description": "Unique Id of the smartGroup for which the history is being retrieved",
- "readOnly": true
+ "description": "Error code, intended to be consumed programmatically."
},
- "modifications": {
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
"type": "array",
- "description": "Modification details",
+ "description": "A list of additional details about the error.",
"items": {
- "$ref": "#/definitions/smartGroupModificationItem"
+ "$ref": "#/definitions/errorResponseBody"
}
- },
- "nextLink": {
- "description": "URL to fetch the next set of results.",
- "type": "string"
}
}
},
- "smartGroupModificationItem": {
- "description": "smartGroup modification item.",
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
"properties": {
- "modificationEvent": {
- "type": "string",
- "description": "Reason for the modification",
- "enum": [
- "SmartGroupCreated",
- "StateChange",
- "AlertAdded",
- "AlertRemoved"
- ],
- "x-ms-enum": {
- "name": "SmartGroupModificationEvent"
- }
- },
- "oldValue": {
- "type": "string",
- "description": "Old value"
- },
- "newValue": {
- "type": "string",
- "description": "New value"
- },
- "modifiedAt": {
- "type": "string",
- "description": "Modified date and time"
- },
- "modifiedBy": {
+ "id": {
"type": "string",
- "description": "Modified user details (Principal client name)"
+ "readOnly": true,
+ "description": "Azure resource Id"
},
- "comments": {
+ "type": {
"type": "string",
- "description": "Modification comments"
+ "readOnly": true,
+ "description": "Azure resource type"
},
- "description": {
+ "name": {
"type": "string",
- "description": "Description of the modification"
+ "readOnly": true,
+ "description": "Azure resource name"
}
}
},
- "alertsSummary": {
- "description": "Summary of alerts based on the input filters and 'groupby' parameters.",
+ "alert": {
+ "description": "An alert created in alert management service.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -1812,61 +776,11 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/alertsSummaryGroup"
- }
- }
- },
- "alertsSummaryGroup": {
- "type": "object",
- "description": "Group the result set.",
- "properties": {
- "total": {
- "type": "integer",
- "description": "Total count of the result set."
- },
- "smartGroupsCount": {
- "type": "integer",
- "description": "Total count of the smart groups."
- },
- "groupedby": {
- "type": "string",
- "description": "Name of the field aggregated"
- },
- "values": {
- "type": "array",
- "description": "List of the items",
- "items": {
- "$ref": "#/definitions/alertsSummaryGroupItem"
- }
- }
- }
- },
- "alertsSummaryGroupItem": {
- "type": "object",
- "description": "Alerts summary group item",
- "properties": {
- "name": {
- "type": "string",
- "description": "Value of the aggregated field"
- },
- "count": {
- "type": "integer",
- "description": "Count of the aggregated field"
- },
- "groupedby": {
- "type": "string",
- "description": "Name of the field aggregated"
- },
- "values": {
- "type": "array",
- "description": "List of the items",
- "items": {
- "$ref": "#/definitions/alertsSummaryGroupItem"
- }
+ "$ref": "#/definitions/alertProperties"
}
}
},
- "smartGroupsList": {
+ "alertsList": {
"description": "List the alerts.",
"properties": {
"nextLink": {
@@ -1877,36 +791,73 @@
"description": "List of alerts",
"type": "array",
"items": {
- "$ref": "#/definitions/smartGroup"
+ "$ref": "#/definitions/alert"
}
}
}
},
- "smartGroup": {
- "description": "Set of related alerts grouped together smartly by AMS.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
+ "alertProperties": {
+ "type": "object",
+ "description": "Alert property bag",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/smartGroupProperties"
+ "essentials": {
+ "$ref": "#/definitions/essentials"
+ },
+ "context": {
+ "$ref": "#/definitions/alertContext"
+ },
+ "egressConfig": {
+ "$ref": "#/definitions/egressConfig"
}
}
},
- "smartGroupProperties": {
+ "egressConfig": {
+ "type": "object",
+ "description": "Config which would be used for displaying the data in portal.",
+ "readOnly": true
+ },
+ "alertContext": {
+ "type": "object",
+ "description": "Information specific to the monitor service that gives more contextual details about the alert.",
+ "readOnly": true
+ },
+ "essentials": {
"type": "object",
- "description": "Properties of smart group.",
+ "description": "This object contains consistent fields across different monitor services.",
"properties": {
- "alertsCount": {
- "type": "integer",
- "description": "Total number of alerts in smart group"
+ "severity": {
+ "type": "string",
+ "description": "Severity of alert Sev0 being highest and Sev4 being lowest.",
+ "readOnly": true,
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "signalType": {
+ "type": "string",
+ "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.",
+ "readOnly": true,
+ "enum": [
+ "Metric",
+ "Log",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "SignalType",
+ "modelAsString": true
+ }
},
- "smartGroupState": {
+ "alertState": {
"type": "string",
- "description": "Smart group state",
+ "description": "Alert object state, which can be modified by the user.",
"readOnly": true,
"enum": [
"New",
@@ -1914,439 +865,250 @@
"Closed"
],
"x-ms-enum": {
- "name": "State",
+ "name": "AlertState",
"modelAsString": true
}
},
- "severity": {
+ "monitorCondition": {
"type": "string",
- "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.",
+ "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.",
"readOnly": true,
"enum": [
- "Sev0",
- "Sev1",
- "Sev2",
- "Sev3",
- "Sev4"
+ "Fired",
+ "Resolved"
],
"x-ms-enum": {
- "name": "Severity",
+ "name": "MonitorCondition",
+ "modelAsString": true
+ }
+ },
+ "targetResource": {
+ "type": "string",
+ "description": "Target ARM resource, on which alert got created."
+ },
+ "targetResourceName": {
+ "type": "string",
+ "description": "Name of the target ARM resource name, on which alert got created."
+ },
+ "targetResourceGroup": {
+ "type": "string",
+ "description": "Resource group of target ARM resource, on which alert got created."
+ },
+ "targetResourceType": {
+ "type": "string",
+ "description": "Resource type of target ARM resource, on which alert got created."
+ },
+ "monitorService": {
+ "type": "string",
+ "description": "Monitor service on which the rule(monitor) is set.",
+ "readOnly": true,
+ "enum": [
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
"modelAsString": true
}
},
+ "alertRule": {
+ "type": "string",
+ "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.",
+ "readOnly": true
+ },
+ "sourceCreatedId": {
+ "type": "string",
+ "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.",
+ "readOnly": true
+ },
+ "smartGroupId": {
+ "type": "string",
+ "description": "Unique Id of the smart group",
+ "readOnly": true
+ },
+ "smartGroupingReason": {
+ "type": "string",
+ "description": "Verbose reason describing the reason why this alert instance is added to a smart group",
+ "readOnly": true
+ },
"startDateTime": {
"type": "string",
"format": "date-time",
- "description": "Creation time of smart group. Date-Time in ISO-8601 format.",
+ "description": "Creation time(ISO-8601 format) of alert instance.",
"readOnly": true
},
"lastModifiedDateTime": {
"type": "string",
"format": "date-time",
- "description": "Last updated time of smart group. Date-Time in ISO-8601 format.",
+ "description": "Last modification time(ISO-8601 format) of alert instance.",
"readOnly": true
},
- "lastModifiedUserName": {
+ "monitorConditionResolvedDateTime": {
"type": "string",
- "description": "Last modified by user name.",
+ "format": "date-time",
+ "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.",
"readOnly": true
},
- "resources": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resources in the smart group"
- },
- "resourceTypes": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resource types in the smart group"
- },
- "resourceGroups": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resource groups in the smart group"
- },
- "monitorServices": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of monitorServices in the smart group"
- },
- "monitorConditions": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of monitorConditions in the smart group"
- },
- "alertStates": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of alertStates in the smart group"
- },
- "alertSeverities": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of alertSeverities in the smart group"
- },
- "nextLink": {
+ "lastModifiedUserName": {
"type": "string",
- "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."
+ "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.",
+ "readOnly": true
}
}
},
- "smartGroupAggregatedProperty": {
- "type": "object",
- "description": "Aggregated property of each type",
+ "alertModification": {
+ "description": "Alert Modification details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the type."
- },
- "count": {
- "type": "integer",
- "description": "Total number of items of type."
+ "properties": {
+ "$ref": "#/definitions/alertModificationProperties"
}
}
},
- "Scope": {
+ "alertModificationProperties": {
"type": "object",
- "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.",
+ "description": "Properties of the alert modification item.",
"properties": {
- "scopeType": {
+ "alertId": {
"type": "string",
- "description": "type of target scope",
- "enum": [
- "ResourceGroup",
- "Resource",
- "Subscription"
- ],
- "x-ms-enum": {
- "name": "ScopeType",
- "modelAsString": true
- }
+ "description": "Unique Id of the alert for which the history is being retrieved",
+ "readOnly": true
},
- "values": {
+ "modifications": {
"type": "array",
- "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.",
+ "description": "Modification details",
"items": {
- "type": "string"
+ "$ref": "#/definitions/alertModificationItem"
}
}
}
},
- "Condition": {
- "type": "object",
- "description": "condition to trigger an action rule",
+ "alertModificationItem": {
+ "description": "Alert modification item.",
"properties": {
- "operator": {
+ "modificationEvent": {
"type": "string",
- "description": "operator for a given condition",
+ "description": "Reason for the modification",
"enum": [
- "Equals",
- "NotEquals",
- "Contains",
- "DoesNotContain"
+ "AlertCreated",
+ "StateChange",
+ "MonitorConditionChange",
+ "SeverityChange",
+ "ActionRuleTriggered",
+ "ActionRuleSuppressed",
+ "ActionsTriggered",
+ "ActionsSuppressed",
+ "ActionsFailed"
],
"x-ms-enum": {
- "name": "Operator",
- "modelAsString": true
- }
- },
- "values": {
- "type": "array",
- "description": "list of values to match for a given condition.",
- "items": {
- "type": "string"
+ "name": "AlertModificationEvent"
}
- }
- }
- },
- "Conditions": {
- "type": "object",
- "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
- "properties": {
- "severity": {
- "description": "filter alerts by severity",
- "$ref": "#/definitions/Condition"
},
- "monitorService": {
- "description": "filter alerts by monitor service",
- "$ref": "#/definitions/Condition"
- },
- "monitorCondition": {
- "description": "filter alerts by monitor condition",
- "$ref": "#/definitions/Condition"
- },
- "targetResourceType": {
- "description": "filter alerts by target resource type",
- "$ref": "#/definitions/Condition"
- },
- "alertRuleId": {
- "description": "filter alerts by alert rule id",
- "$ref": "#/definitions/Condition"
- },
- "description": {
- "description": "filter alerts by alert rule description",
- "$ref": "#/definitions/Condition"
- },
- "alertContext": {
- "description": "filter alerts by alert context (payload)",
- "$ref": "#/definitions/Condition"
- }
- }
- },
- "SuppressionConfig": {
- "type": "object",
- "description": "Suppression logic for a given action rule",
- "required": [
- "recurrenceType"
- ],
- "properties": {
- "recurrenceType": {
+ "oldValue": {
"type": "string",
- "description": "Specifies when the suppression should be applied",
- "enum": [
- "Always",
- "Once",
- "Daily",
- "Weekly",
- "Monthly"
- ],
- "x-ms-enum": {
- "name": "SuppressionType",
- "modelAsString": true
- }
+ "description": "Old value"
},
- "schedule": {
- "description": "suppression schedule configuration",
- "$ref": "#/definitions/SuppressionSchedule"
- }
- }
- },
- "SuppressionSchedule": {
- "type": "object",
- "description": "Schedule for a given suppression configuration.",
- "properties": {
- "startDate": {
+ "newValue": {
"type": "string",
- "description": "Start date for suppression"
+ "description": "New value"
},
- "endDate": {
+ "modifiedAt": {
"type": "string",
- "description": "End date for suppression"
+ "description": "Modified date and time"
},
- "startTime": {
+ "modifiedBy": {
"type": "string",
- "description": "Start time for suppression"
+ "description": "Modified user details (Principal client name)"
},
- "endTime": {
+ "comments": {
"type": "string",
- "description": "End date for suppression"
+ "description": "Modification comments"
},
- "recurrenceValues": {
- "type": "array",
- "description": "Specifies the values for recurrence pattern",
- "items": {
- "type": "integer"
- }
+ "description": {
+ "type": "string",
+ "description": "Description of the modification"
}
}
},
- "ActionRule": {
- "description": "Action rule object containing target scope, conditions and suppression logic",
+ "alertsSummary": {
+ "description": "Summary of alerts based on the input filters and 'groupby' parameters.",
"allOf": [
{
- "$ref": "#/definitions/ManagedResource"
+ "$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
- "description": "action rule properties",
- "$ref": "#/definitions/ActionRuleProperties"
+ "$ref": "#/definitions/alertsSummaryGroup"
}
}
},
- "ActionRuleProperties": {
- "description": "Action rule properties defining scope, conditions, suppression logic for action rule",
- "discriminator": "type",
- "required": [
- "type"
- ],
+ "alertsSummaryGroup": {
+ "type": "object",
+ "description": "Group the result set.",
"properties": {
- "scope": {
- "description": "scope on which action rule will apply",
- "$ref": "#/definitions/Scope"
- },
- "conditions": {
- "description": "conditions on which alerts will be filtered",
- "$ref": "#/definitions/Conditions"
- },
- "description": {
- "type": "string",
- "description": "Description of action rule"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "Creation time of action rule. Date-Time in ISO-8601 format.",
- "readOnly": true
- },
- "lastModifiedAt": {
- "type": "string",
- "format": "date-time",
- "description": "Last updated time of action rule. Date-Time in ISO-8601 format.",
- "readOnly": true
- },
- "createdBy": {
- "type": "string",
- "description": "Created by user name.",
- "readOnly": true
+ "total": {
+ "type": "integer",
+ "description": "Total count of the result set."
},
- "lastModifiedBy": {
- "type": "string",
- "description": "Last modified by user name.",
- "readOnly": true
+ "smartGroupsCount": {
+ "type": "integer",
+ "description": "Total count of the smart groups."
},
- "status": {
+ "groupedby": {
"type": "string",
- "description": "Indicates if the given action rule is enabled or disabled",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "ActionRuleStatus",
- "modelAsString": true
- }
+ "description": "Name of the field aggregated"
},
- "type": {
- "type": "string",
- "description": "Indicates type of action rule",
- "enum": [
- "Suppression",
- "ActionGroup",
- "Diagnostics"
- ],
- "x-ms-enum": {
- "name": "ActionRuleType",
- "modelAsString": true
+ "values": {
+ "type": "array",
+ "description": "List of the items",
+ "items": {
+ "$ref": "#/definitions/alertsSummaryGroupItem"
}
}
}
},
- "Suppression": {
- "title": "Suppression based Action Rule",
- "description": "Action rule with suppression configuration",
- "required": [
- "suppressionConfig"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ActionRuleProperties"
- },
- {
- "type": "object",
- "properties": {
- "suppressionConfig": {
- "description": "suppression configuration for the action rule",
- "$ref": "#/definitions/SuppressionConfig"
- }
- }
- }
- ]
- },
- "ActionGroup": {
- "title": "Action Group based Action Rule",
- "description": "Action rule with action group configuration",
- "required": [
- "actionGroupId"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ActionRuleProperties"
+ "alertsSummaryGroupItem": {
+ "type": "object",
+ "description": "Alerts summary group item",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Value of the aggregated field"
},
- {
- "type": "object",
- "properties": {
- "actionGroupId": {
- "type": "string",
- "description": "Action group to trigger if action rule matches"
- }
- }
- }
- ]
- },
- "Diagnostics": {
- "title": "Diagnostics based Action Rule",
- "description": "Action rule with diagnostics configuration",
- "allOf": [
- {
- "$ref": "#/definitions/ActionRuleProperties"
+ "count": {
+ "type": "integer",
+ "description": "Count of the aggregated field"
},
- {
- "type": "object"
- }
- ]
- },
- "ActionRulesList": {
- "description": "List of action rules",
- "properties": {
- "nextLink": {
+ "groupedby": {
"type": "string",
- "description": "URL to fetch the next set of action rules"
+ "description": "Name of the field aggregated"
},
- "value": {
+ "values": {
"type": "array",
- "description": "List of action rules",
+ "description": "List of the items",
"items": {
- "$ref": "#/definitions/ActionRule"
- }
- }
- }
- },
- "PatchProperties": {
- "description": "Action rule properties supported by patch",
- "properties": {
- "status": {
- "type": "string",
- "description": "Indicates if the given action rule is enabled or disabled",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "ActionRuleStatus",
- "modelAsString": true
+ "$ref": "#/definitions/alertsSummaryGroupItem"
}
}
}
},
- "PatchObject": {
- "description": "Data contract for patch",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "properties supported by patch operation",
- "$ref": "#/definitions/PatchProperties"
- },
- "tags": {
- "type": "object",
- "description": "tags to be updated"
- }
- }
- },
"alertsMetaData": {
"description": "alert meta data information.",
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
new file mode 100644
index 000000000000..c30ce89e0d8a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
@@ -0,0 +1,727 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-05-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure Smart Groups CRUD operations."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": {
+ "get": {
+ "operationId": "SmartGroups_GetAll",
+ "summary": "Get all Smart Groups within a specified subscription",
+ "description": "List all the Smart Groups within a specified subscription. ",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/monitorCondition"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/smartGroupState"
+ },
+ {
+ "$ref": "#/parameters/timeRange"
+ },
+ {
+ "$ref": "#/parameters/pageCount"
+ },
+ {
+ "$ref": "#/parameters/smartGroupsSortBy"
+ },
+ {
+ "$ref": "#/parameters/sortOrder"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns list of all smartGroups.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupsList",
+ "description": "List of smart groups in value property."
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List": {
+ "$ref": "./examples/SmartGroups_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
+ "get": {
+ "operationId": "SmartGroups_GetById",
+ "summary": "Get information related to a specific Smart Group.",
+ "description": "Get information related to a specific Smart Group.",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the group with the specified smart group Id.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get": {
+ "$ref": "./examples/SmartGroups_GetById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
+ "post": {
+ "operationId": "SmartGroups_ChangeState",
+ "description": "Change the state of a Smart Group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/newState"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Smart Group state updated.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "changestate": {
+ "$ref": "./examples/SmartGroups_ChangeState.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
+ "get": {
+ "operationId": "SmartGroups_GetHistory",
+ "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the list of changes of smart group.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupModification"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve": {
+ "$ref": "./examples/SmartGroups_History.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2019-05-05-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ },
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "smartGroupId": {
+ "description": "Smart group unique id. ",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "newState": {
+ "description": "New state of the alert.",
+ "name": "newState",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "smartGroupState": {
+ "description": "Filter by state of the smart group. Default value is to select all.",
+ "name": "smartGroupState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "monitorCondition": {
+ "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
+ "name": "monitorCondition",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
+ }
+ },
+ "timeRange": {
+ "description": "Filter by time range by below listed values. Default value is 1 day.",
+ "name": "timeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "1h",
+ "1d",
+ "7d",
+ "30d"
+ ],
+ "x-ms-enum": {
+ "name": "TimeRange",
+ "modelAsString": true
+ }
+ },
+ "pageCount": {
+ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
+ "name": "pageCount",
+ "type": "integer",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "smartGroupsSortBy": {
+ "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "alertsCount",
+ "state",
+ "severity",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "sortOrder": {
+ "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
+ "name": "sortOrder",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "smartGroupModification": {
+ "description": "Alert Modification details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/smartGroupModificationProperties"
+ }
+ }
+ },
+ "smartGroupModificationProperties": {
+ "description": "Properties of the smartGroup modification item.",
+ "properties": {
+ "smartGroupId": {
+ "type": "string",
+ "description": "Unique Id of the smartGroup for which the history is being retrieved",
+ "readOnly": true
+ },
+ "modifications": {
+ "type": "array",
+ "description": "Modification details",
+ "items": {
+ "$ref": "#/definitions/smartGroupModificationItem"
+ }
+ },
+ "nextLink": {
+ "description": "URL to fetch the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "smartGroupModificationItem": {
+ "description": "smartGroup modification item.",
+ "properties": {
+ "modificationEvent": {
+ "type": "string",
+ "description": "Reason for the modification",
+ "enum": [
+ "SmartGroupCreated",
+ "StateChange",
+ "AlertAdded",
+ "AlertRemoved"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupModificationEvent"
+ }
+ },
+ "oldValue": {
+ "type": "string",
+ "description": "Old value"
+ },
+ "newValue": {
+ "type": "string",
+ "description": "New value"
+ },
+ "modifiedAt": {
+ "type": "string",
+ "description": "Modified date and time"
+ },
+ "modifiedBy": {
+ "type": "string",
+ "description": "Modified user details (Principal client name)"
+ },
+ "comments": {
+ "type": "string",
+ "description": "Modification comments"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the modification"
+ }
+ }
+ },
+ "smartGroupsList": {
+ "description": "List the alerts.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of alerts",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ }
+ }
+ },
+ "smartGroup": {
+ "description": "Set of related alerts grouped together smartly by AMS.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/smartGroupProperties"
+ }
+ }
+ },
+ "smartGroupProperties": {
+ "type": "object",
+ "description": "Properties of smart group.",
+ "properties": {
+ "alertsCount": {
+ "type": "integer",
+ "description": "Total number of alerts in smart group"
+ },
+ "smartGroupState": {
+ "type": "string",
+ "description": "Smart group state",
+ "readOnly": true,
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "type": "string",
+ "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.",
+ "readOnly": true,
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedUserName": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "resources": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resources in the smart group"
+ },
+ "resourceTypes": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource types in the smart group"
+ },
+ "resourceGroups": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource groups in the smart group"
+ },
+ "monitorServices": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorServices in the smart group"
+ },
+ "monitorConditions": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorConditions in the smart group"
+ },
+ "alertStates": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertStates in the smart group"
+ },
+ "alertSeverities": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertSeverities in the smart group"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."
+ }
+ }
+ },
+ "smartGroupAggregatedProperty": {
+ "type": "object",
+ "description": "Aggregated property of each type",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the type."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of items of type."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
new file mode 100644
index 000000000000..6a49a3228a39
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
@@ -0,0 +1,649 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-08-04-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.AlertsManagement/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "List all operations available through Azure Alerts Management Resource Provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved operations list.",
+ "schema": {
+ "$ref": "#/definitions/operationsList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": {
+ "get": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Retrieve health alert rule definitions in a subscription.",
+ "operationId": "HealthAlerts_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of health alerts",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "ListResourceHealthAlertRules": {
+ "$ref": "./examples/listResourceHealthAlerts.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": {
+ "get": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Retrieve alert rule definitions in a resource group.",
+ "operationId": "HealthAlerts_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of health alerts",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "ListResourceHealthAlertRules": {
+ "$ref": "./examples/listResourceHealthAlerts.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts/{ruleName}": {
+ "get": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Retrieve an alert rule definition.",
+ "operationId": "HealthAlerts_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of health alerts",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetResourceHealthAlertRule": {
+ "$ref": "./examples/getResourceHealthAlert.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Create or update an health alert definition.",
+ "operationId": "HealthAlerts_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResource"
+ },
+ "description": "The parameters of the rule to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CreateResourceHealthAlertRule": {
+ "$ref": "./examples/createOrUpdateResourceHealthAlert.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Update an health alert definition.",
+ "operationId": "HealthAlerts_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResourcePatch"
+ },
+ "description": "The parameters of the rule to update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchResourceHealthAlertRule": {
+ "$ref": "./examples/patchResourceHealthAlert.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HealthAlerts"
+ ],
+ "description": "Delete an alert rule definition.",
+ "operationId": "HealthAlerts_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to delete an health alert rule"
+ },
+ "204": {
+ "description": "No content: the request was successful, but the response is empty"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HealthAlertsErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteResourceHealthAlertRule": {
+ "$ref": "./examples/deleteResourceHealthAlert.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "HealthAlertAction": {
+ "description": "An alert action.",
+ "properties": {
+ "actionGroupId": {
+ "type": "string",
+ "description": "the id of the action group to use."
+ },
+ "webHookProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload."
+ },
+ "description": "The properties of a webhook object."
+ }
+ }
+ },
+ "HealthAlertProperties": {
+ "required": [
+ "enabled",
+ "description",
+ "criteria"
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "the description of the health alert that will be included in the alert email."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "the flag that indicates whether the health alert is enabled."
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "the list of resource id's that this health alert is scoped to."
+ },
+ "criteria": {
+ "$ref": "#/definitions/HealthAlertCriteria",
+ "description": "defines the specific alert criteria information."
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthAlertAction"
+ },
+ "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved."
+ },
+ "lastUpdatedTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time the rule was updated in ISO8601 format."
+ }
+ },
+ "description": "An alert rule."
+ },
+ "HealthAlertResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HealthAlertProperties",
+ "description": "The alert rule properties of the resource."
+ }
+ },
+ "description": "The health alert resource."
+ },
+ "HealthAlertResourcePatch": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HealthAlertProperties",
+ "description": "The alert rule properties of the resource."
+ }
+ },
+ "description": "The health alert resource for patch operations."
+ },
+ "HealthAlertResourceCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthAlertResource"
+ },
+ "description": "the values for the alert rule resources."
+ }
+ },
+ "description": "Represents a collection of alert rule resources."
+ },
+ "HealthAlertCriteria": {
+ "type": "object",
+ "properties": {
+ "allOf": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthAlertCriterion"
+ },
+ "description": "The list of metric criteria for this 'all of' operation. "
+ }
+ },
+ "description": "Specifies the resource health alert criteria for a single resource that has multiple metric criteria."
+ },
+ "HealthAlertCriterion": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "discriminator": "namespace",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "enum": [
+ "VmGuestHealth"
+ ],
+ "x-ms-enum": {
+ "name": "HealthAlertsNamespace",
+ "modelAsString": true
+ },
+ "description": "specifies the type of the alert criterion."
+ }
+ },
+ "required": [
+ "namespace"
+ ],
+ "description": "The rule criterion that defines the conditions of the alert rule."
+ },
+ "VmGuestHealthAlertCriterion": {
+ "x-ms-discriminator-value": "VmGuestHealth",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthAlertCriterion"
+ }
+ ],
+ "properties": {
+ "healthMonitorName": {
+ "type": "string",
+ "description": "Name of health monitor on which to define alert"
+ },
+ "healthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthState"
+ },
+ "description": "Health states to alert on"
+ }
+ },
+ "required": [
+ "healthMonitorName"
+ ],
+ "description": "Specifies the health alert criteria to alert on."
+ },
+ "HealthState": {
+ "type": "object",
+ "properties": {
+ "healthStateName": {
+ "type": "string",
+ "description": "Health state"
+ },
+ "severity": {
+ "type": "string",
+ "description": "Severity of alert fired"
+ }
+ },
+ "required": [
+ "healthStateName",
+ "severity"
+ ],
+ "description": "Specifies the health state to alert on and the corresponding severity"
+ },
+ "HealthAlertsErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/HealthAlertsErrorResponseBody"
+ }
+ }
+ },
+ "HealthAlertsErrorResponseBody": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "operation": {
+ "description": "Operation provided by provider",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "operationsList": {
+ "description": "Lists the operations available in the AlertsManagement RP.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription Id."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "RuleNameParameter": {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json
new file mode 100644
index 000000000000..0a46e4630d1f
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "gigtest",
+ "ruleName": "highcpu",
+ "api-version": "2020-08-04-preview",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the rule1",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu",
+ "type": "Microsoft.AlertsManagement/resourceHealthAlerts",
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the first rule",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json
new file mode 100644
index 000000000000..0d5dfed02952
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "gigtest",
+ "ruleName": "highcpu",
+ "api-version": "2018-03-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json
new file mode 100644
index 000000000000..18432a7ab89a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "gigtest",
+ "ruleName": "highcpu",
+ "api-version": "2020-08-04-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu",
+ "type": "Microsoft.AlertsManagement/resourceHealthAlerts",
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the rule1",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json
new file mode 100644
index 000000000000..42bc3c7156c4
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "gigtest",
+ "api-version": "2020-08-04-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu",
+ "type": "Microsoft.AlertsManagement/resourceHealthAlerts",
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the first rule",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json
new file mode 100644
index 000000000000..c67cb10e162e
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "gigtest",
+ "ruleName": "highcpu",
+ "api-version": "2020-08-04-preview",
+ "parameters": {
+ "properties": {
+ "description": "This is the description of the rule1",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu",
+ "type": "Microsoft.AlertsManagement/resourceHealthAlerts",
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the rule1",
+ "enabled": true,
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme"
+ ],
+ "criteria": {
+ "allOf": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "webHookProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
index dc6ce3d65350..b5be751defbb 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
@@ -52,6 +52,42 @@
}
}
},
+ "/providers/Microsoft.AlertsManagement/alertsMetaData": {
+ "get": {
+ "operationId": "Alerts_MetaData",
+ "description": "List alerts meta data information based on value of identifier parameter.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/identifier"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully listed alert meta data.",
+ "schema": {
+ "$ref": "#/definitions/alertsMetaData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MonService": {
+ "$ref": "./examples/AlertsMetaData_MonitorService.json"
+ }
+ }
+ }
+ },
"/{scope}/providers/Microsoft.AlertsManagement/alerts": {
"get": {
"operationId": "Alerts_GetAll",
@@ -325,204 +361,6 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": {
- "get": {
- "operationId": "SmartGroups_GetAll",
- "summary": "Get all Smart Groups within a specified subscription",
- "description": "List all the Smart Groups within a specified subscription. ",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/monitorCondition"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/smartGroupState"
- },
- {
- "$ref": "#/parameters/timeRange"
- },
- {
- "$ref": "#/parameters/pageCount"
- },
- {
- "$ref": "#/parameters/smartGroupsSortBy"
- },
- {
- "$ref": "#/parameters/sortOrder"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK. Returns list of all smartGroups.",
- "schema": {
- "$ref": "#/definitions/smartGroupsList",
- "description": "List of smart groups in value property."
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List": {
- "$ref": "./examples/SmartGroups_List.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
- "get": {
- "operationId": "SmartGroups_GetById",
- "summary": "Get information related to a specific Smart Group.",
- "description": "Get information related to a specific Smart Group.",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the group with the specified smart group Id.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get": {
- "$ref": "./examples/SmartGroups_GetById.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
- "post": {
- "operationId": "SmartGroups_ChangeState",
- "description": "Change the state of a Smart Group.",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- },
- {
- "$ref": "#/parameters/newState"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Smart Group state updated.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "changestate": {
- "$ref": "./examples/SmartGroups_ChangeState.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
- "get": {
- "operationId": "SmartGroups_GetHistory",
- "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the list of changes of smart group.",
- "schema": {
- "$ref": "#/definitions/smartGroupModification"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/AlertsManagementErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Resolve": {
- "$ref": "./examples/SmartGroups_History.json"
- }
- }
- }
}
},
"parameters": {
@@ -867,6 +705,21 @@
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
+ },
+ "identifier": {
+ "name": "identifier",
+ "description": "Identification of the information to be retrieved by API call.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "MonitorServiceList"
+ ],
+ "x-ms-enum": {
+ "name": "identifier",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
}
},
"definitions": {
@@ -1388,6 +1241,34 @@
}
}
},
+ "alertsMetaData": {
+ "description": "alert meta data information.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/alertsMetaDataProperties"
+ }
+ }
+ },
+ "alertsMetaDataProperties": {
+ "description": "alert meta data property bag",
+ "discriminator": "metadataIdentifier",
+ "required": [
+ "metadataIdentifier"
+ ],
+ "properties": {
+ "metadataIdentifier": {
+ "type": "string",
+ "description": "Identification of the information to be retrieved by API call",
+ "enum": [
+ "MonitorServiceList"
+ ],
+ "x-ms-enum": {
+ "name": "metadataIdentifier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
"smartGroupsList": {
"description": "List the alerts.",
"properties": {
@@ -1541,6 +1422,43 @@
"description": "Total number of items of type."
}
}
+ },
+ "MonitorServiceList": {
+ "title": "Monitor service details",
+ "description": "Monitor service details",
+ "required": [
+ "data"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsMetaDataProperties"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "data": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitorServiceDetails"
+ }
+ }
+ }
+ },
+ "MonitorServiceDetails": {
+ "description": "Details of a monitor service",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Monitor service name"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Monitor service display name"
+ }
+ }
}
}
}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json
new file mode 100644
index 000000000000..41ef963509e3
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "identifier": "MonitorServiceList"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metadataIdentifier": "MonitorServiceList",
+ "data": [
+ {
+ "name": "ActivityLog Administrative",
+ "displayName": "Activity Log - Administrative"
+ },
+ {
+ "name": "ActivityLog Autoscale",
+ "displayName": "Activity Log - Autoscale"
+ },
+ {
+ "name": "ActivityLog Policy",
+ "displayName": "Activity Log - Policy"
+ },
+ {
+ "name": "ActivityLog Recommendation",
+ "displayName": "Activity Log - Recommendation"
+ },
+ {
+ "name": "ActivityLog Security",
+ "displayName": "Activity Log - Security"
+ },
+ {
+ "name": "Application Insights",
+ "displayName": "Application Insights"
+ },
+ {
+ "name": "Azure Backup",
+ "displayName": "Azure Backup"
+ },
+ {
+ "name": "Custom",
+ "displayName": "Custom"
+ },
+ {
+ "name": "Data Box Edge",
+ "displayName": "Data Box Edge"
+ },
+ {
+ "name": "VM Insights",
+ "displayName": "VM Insights"
+ },
+ {
+ "name": "Log Analytics",
+ "displayName": "Log Analytics"
+ },
+ {
+ "name": "Nagios",
+ "displayName": "NAGIOS"
+ },
+ {
+ "name": "Platform",
+ "displayName": "Platform"
+ },
+ {
+ "name": "Resource Health",
+ "displayName": "Resource Health"
+ },
+ {
+ "name": "SCOM",
+ "displayName": "SCOM"
+ },
+ {
+ "name": "ServiceHealth",
+ "displayName": "Service Health"
+ },
+ {
+ "name": "Smart Detector",
+ "displayName": "SmartDetector"
+ },
+ {
+ "name": "Zabbix",
+ "displayName": "ZABBIX"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json
deleted file mode 100644
index 9b07e12589e0..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-05-05",
- "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72",
- "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059",
- "newState": "Acknowledged",
- "body": {
- "comments": "Acknowledging smart group"
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "alertsCount": 1942,
- "smartGroupState": "Acknowledged",
- "severity": "Sev3",
- "startDateTime": "2018-06-06T12:35:09Z",
- "lastModifiedDateTime": "2018-06-13T06:30:09Z",
- "lastModifiedUserName": "System",
- "resources": [
- {
- "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
- "count": 1942
- }
- ],
- "resourceTypes": [
- {
- "name": "components",
- "count": 1942
- }
- ],
- "resourceGroups": [
- {
- "name": "alertscorrelationrg",
- "count": 1942
- }
- ],
- "monitorServices": [
- {
- "name": "Application Insights",
- "count": 1942
- }
- ],
- "monitorConditions": [
- {
- "name": "Fired",
- "count": 1942
- }
- ],
- "alertStates": [
- {
- "name": "New",
- "count": 1941
- },
- {
- "name": "Acknowledged",
- "count": 1
- }
- ],
- "alertSeverities": [
- {
- "name": "Sev3",
- "count": 1942
- }
- ]
- },
- "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
- "type": "Microsoft.AlertsManagement/smartGroups",
- "name": "cpu alert"
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json
deleted file mode 100644
index fb66b322f894..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-05-05",
- "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
- "smartGroupId": "603675da-9851-4b26-854a-49fc53d32715"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "alertsCount": 1942,
- "smartGroupState": "New",
- "severity": "Sev3",
- "startDateTime": "2018-06-06T12:35:09Z",
- "lastModifiedDateTime": "2018-06-13T06:30:09Z",
- "lastModifiedUserName": "System",
- "resources": [
- {
- "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
- "count": 1942
- }
- ],
- "resourceTypes": [
- {
- "name": "components",
- "count": 1942
- }
- ],
- "resourceGroups": [
- {
- "name": "alertscorrelationrg",
- "count": 1942
- }
- ],
- "monitorServices": [
- {
- "name": "Application Insights",
- "count": 1942
- }
- ],
- "monitorConditions": [
- {
- "name": "Fired",
- "count": 1942
- }
- ],
- "alertStates": [
- {
- "name": "New",
- "count": 1941
- },
- {
- "name": "Acknowledged",
- "count": 1
- }
- ],
- "alertSeverities": [
- {
- "name": "Sev3",
- "count": 1942
- }
- ]
- },
- "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
- "type": "Microsoft.AlertsManagement/smartGroups",
- "name": "cpu alert"
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json
deleted file mode 100644
index a3d749f1d6ff..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-05-05",
- "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
- "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059",
- "modifications": [
- {
- "modificationEvent": "SmartGroupCreated",
- "oldValue": "",
- "newValue": "",
- "modifiedAt": "2018-06-06T12:35:09Z",
- "modifiedBy": "System",
- "comments": "",
- "description": "New Smart Group is created"
- }
- ]
- },
- "id": "/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059/history/default",
- "type": "Microsoft.AlertsManagement/alerts",
- "name": "cpu alert"
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json
deleted file mode 100644
index bf4722bcdb59..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-05-05",
- "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72"
- },
- "responses": {
- "200": {
- "body": {
- "nextLink": null,
- "value": [
- {
- "properties": {
- "alertsCount": 1942,
- "smartGroupState": "New",
- "severity": "Sev3",
- "startDateTime": "2018-06-06T12:35:09Z",
- "lastModifiedDateTime": "2018-06-13T06:30:09Z",
- "lastModifiedUserName": "System",
- "resources": [
- {
- "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
- "count": 1942
- }
- ],
- "resourceTypes": [
- {
- "name": "components",
- "count": 1942
- }
- ],
- "resourceGroups": [
- {
- "name": "alertscorrelationrg",
- "count": 1942
- }
- ],
- "monitorServices": [
- {
- "name": "Application Insights",
- "count": 1942
- }
- ],
- "monitorConditions": [
- {
- "name": "Fired",
- "count": 1942
- }
- ],
- "alertStates": [
- {
- "name": "New",
- "count": 1941
- },
- {
- "name": "Acknowledged",
- "count": 1
- }
- ],
- "alertSeverities": [
- {
- "name": "Sev3",
- "count": 1942
- }
- ]
- },
- "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
- "type": "Microsoft.AlertsManagement/smartGroups",
- "name": "cpu alert"
- },
- {
- "properties": {
- "alertsCount": 15374,
- "smartGroupState": "Acknowledged",
- "severity": "Sev0",
- "startDateTime": "2018-05-17T10:18:44.2020997Z",
- "lastModifiedDateTime": "2018-06-13T06:29:01Z",
- "lastModifiedUserName": "System",
- "resources": [
- {
- "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/alertsint",
- "count": 15374
- }
- ],
- "resourceTypes": [
- {
- "name": "microsoft.operationalinsights/workspaces",
- "count": 6912
- },
- {
- "name": "workspaces",
- "count": 8462
- }
- ],
- "resourceGroups": [
- {
- "name": "mms-eus",
- "count": 15374
- }
- ],
- "monitorServices": [
- {
- "name": "Log Analytics",
- "count": 13911
- }
- ],
- "monitorConditions": [
- {
- "name": "Fired",
- "count": 15374
- }
- ],
- "alertStates": [
- {
- "name": "New",
- "count": 15358
- },
- {
- "name": "Acknowledged",
- "count": 12
- },
- {
- "name": "Closed",
- "count": 4
- }
- ],
- "alertSeverities": [
- {
- "name": "Sev0",
- "count": 6984
- },
- {
- "name": "Sev1",
- "count": 6927
- }
- ]
- },
- "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/01114c7c-769f-4fd4-b6fa-ab77693b83cd",
- "type": "Microsoft.AlertsManagement/smartGroups",
- "name": "CPU Alert"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
index 77242cc6bfbf..2599e615fcb3 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
@@ -43,7 +43,7 @@
"description": "List all the existing Smart Detector alert rules within the subscription.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -85,7 +85,7 @@
"description": "List all the existing Smart Detector alert rules within the subscription and resource group.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -130,7 +130,7 @@
"description": "Get a specific Smart Detector alert rule.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -173,7 +173,7 @@
"description": "Create or update a Smart Detector alert rule.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -228,7 +228,7 @@
"description": "Patch a specific Smart Detector alert rule.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -277,7 +277,7 @@
"description": "Delete an existing Smart Detector alert rule.",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/subscriptionId"
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -611,7 +611,7 @@
}
},
"parameters": {
- "SubscriptionIdParameter": {
+ "subscriptionId": {
"name": "subscriptionId",
"in": "path",
"required": true,
diff --git a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7e310183b24c
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,87 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-alertsmanagement-2020-08-04-preview
+ - tag: schema-alertsmanagement-2019-06-01
+ - tag: schema-alertsmanagement-2019-05-05-preview
+ - tag: schema-alertsmanagement-2019-03-01
+ - tag: schema-alertsmanagement-2018-05-05-preview
+ - tag: schema-alertsmanagement-2018-05-05
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-alertsmanagement-2020-08-04-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2020-08-04-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
+
+```
+
+### Tag: schema-alertsmanagement-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
+
+```
+
+### Tag: schema-alertsmanagement-2019-05-05-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-05-05-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
+
+```
+
+### Tag: schema-alertsmanagement-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+ - Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
+
+```
+
+### Tag: schema-alertsmanagement-2018-05-05-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
+
+```
+
+### Tag: schema-alertsmanagement-2018-05-05 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
+
+```
diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md
index 13f35726b3ee..5fa1c3add76b 100644
--- a/specification/alertsmanagement/resource-manager/readme.go.md
+++ b/specification/alertsmanagement/resource-manager/readme.go.md
@@ -12,19 +12,29 @@ go:
### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-06-preview
- tag: package-preview-2019-05
- tag: package-2019-03
- tag: package-2018-05
- tag: package-2018-05-preview
```
+### Tag: package-2019-06-preview and go
+
+These settings apply only when `--tag=package-2019-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-06-01-preview/$(namespace)
+```
+
### Tag: package-preview-2019-05 and go
These settings apply only when `--tag=package-preview-2019-05 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-preview-2019-05' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-05/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-05-preview/$(namespace)
```
### Tag: package-2019-03 and go
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index f3499619c52f..4c1754e7b365 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -50,7 +50,9 @@ These settings apply only when `--tag=package-2019-06-preview` is specified on t
```yaml $(tag) == 'package-2019-06-preview'
input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
- Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
```
@@ -80,7 +82,9 @@ These settings apply only when `--tag=package-preview-2019-05` is specified on t
``` yaml $(tag) == 'package-preview-2019-05'
input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
```
### Tag: package-2018-05
@@ -101,6 +105,15 @@ input-file:
- Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
```
+### Tag: package-2020-08-04-preview
+
+These settings apply only when `--tag=package-2020-08-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-08-04-preview'
+input-file:
+- Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
+```
+
---
# Code Generation
@@ -116,6 +129,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-libraries-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-trenton
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js alertsmanagement/resource-manager
```
## C#
@@ -169,32 +186,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-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!
+## AzureResourceSchema
-``` 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.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
- - $(this-folder)/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
- - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
- - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
- - $(this-folder)/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
- - $(this-folder)/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
-
-```
-
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md
index 4a374c2f42fd..caac806574a8 100644
--- a/specification/alertsmanagement/resource-manager/readme.trenton.md
+++ b/specification/alertsmanagement/resource-manager/readme.trenton.md
@@ -7,6 +7,7 @@ overrides:
resource: "*"
set:
- NeedSeparated: true
+ - CombineCreateUpdate: true
- where:
resource: "ActionRules"
property: "properties"
diff --git a/specification/analysisservices/resource-manager/readme.azureresourceschema.md b/specification/analysisservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d89301b2b8b3
--- /dev/null
+++ b/specification/analysisservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-analysisservices-2017-08-01
+ - tag: schema-analysisservices-2017-07-14
+ - tag: schema-analysisservices-2016-05-16
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-analysisservices-2017-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2017-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
+
+```
+
+### Tag: schema-analysisservices-2017-07-14 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2017-07-14' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json
+
+```
+
+### Tag: schema-analysisservices-2016-05-16 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2016-05-16' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json
+
+```
diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md
index 47c8ceba9a14..1e60c46b1f69 100644
--- a/specification/analysisservices/resource-manager/readme.md
+++ b/specification/analysisservices/resource-manager/readme.md
@@ -84,6 +84,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_analysis_services']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js analysisservices/resource-manager
```
@@ -183,30 +186,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
- - $(this-folder)/Microsoft.AnalysisServices/preview/2017-08-01-beta/analysisservices.json
- - $(this-folder)/Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json
- - $(this-folder)/Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json
new file mode 100644
index 000000000000..dbe76ee7c35b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json
@@ -0,0 +1,765 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on entities like API, Product, and Subscription associated with your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "error": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Properties of the Error Response."
+ }
+ },
+ "description": "Error Response."
+ },
+ "ErrorResponseBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error Body contract."
+ },
+ "RegionContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Region name.",
+ "readOnly": true
+ },
+ "isMasterRegion": {
+ "description": "whether Region is the master region.",
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "description": "whether Region is deleted.",
+ "type": "boolean"
+ }
+ },
+ "description": "Region profile."
+ },
+ "RegionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionContract"
+ },
+ "description": "Lists of Regions."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Lists Regions operation response details."
+ },
+ "Resource": {
+ "description": "The Resource definition.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name.",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type for API Management resource."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccessParameter": {
+ "name": "accessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "access"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AccessIdName"
+ },
+ "description": "The identifier of the Access configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdRevParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "ApiVersionSetIdParameter": {
+ "name": "versionSetId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Api Version Set identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AppTypeParameter": {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ },
+ "default": "portal",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachmentIdParameter": {
+ "name": "attachmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AuthenticationServerIdParameter": {
+ "name": "authsid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the authorization server.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "BackendIdParameter": {
+ "name": "backendId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "CacheIdParameter": {
+ "name": "cacheId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateIdParameter": {
+ "name": "certificateId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CommentIdParameter": {
+ "name": "commentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "configuration"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "configurationIdName"
+ },
+ "description": "The identifier of the Git Configuration Operation.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiagnosticIdParameter": {
+ "name": "diagnosticId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "EmailParameter": {
+ "name": "email",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Email identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Group identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "IdentityProviderNameParameter": {
+ "name": "identityProviderName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchOptionalParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchRequiredParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IssueIdParameter": {
+ "name": "issueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Issue identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "LoggerIdParameter": {
+ "name": "loggerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "description": "Logger identifier. Must be unique in the API Management service instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotificationNameParameter": {
+ "name": "notificationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "RequestPublisherNotificationMessage",
+ "PurchasePublisherNotificationMessage",
+ "NewApplicationNotificationMessage",
+ "BCC",
+ "NewIssuePublisherNotificationMessage",
+ "AccountClosedPublisher",
+ "QuotaLimitApproachingPublisherNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "NotificationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "RequestPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval."
+ },
+ {
+ "value": "PurchasePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions."
+ },
+ {
+ "value": "NewApplicationNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery."
+ },
+ {
+ "value": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers."
+ },
+ {
+ "value": "NewIssuePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal."
+ },
+ {
+ "value": "AccountClosedPublisher",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account."
+ },
+ {
+ "value": "QuotaLimitApproachingPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota."
+ }
+ ]
+ },
+ "description": "Notification Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotifySubscriptionStateChangeParameter": {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ",
+ "x-ms-parameter-location": "method"
+ },
+ "OpenIdConnectIdParameter": {
+ "name": "opid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the OpenID Connect Provider.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyExportFormat": {
+ "name": "format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy Export Format.",
+ "enum": [
+ "xml",
+ "rawxml"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ }
+ ]
+ },
+ "default": "xml",
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyIdParameter": {
+ "name": "policyId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "policy"
+ ],
+ "description": "The identifier of the Policy.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PolicyIdName"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Product identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "NamedValueIdParameter": {
+ "name": "namedValueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the NamedValue.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaCounterKeyParameter": {
+ "name": "quotaCounterKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaPeriodKeyParameter": {
+ "name": "quotaPeriodKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota period key identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "ReleaseIdParameter": {
+ "name": "releaseId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Release identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "SchemaIdParameter": {
+ "name": "schemaId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ServiceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the API Management service.",
+ "minLength": 1,
+ "maxLength": 50,
+ "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipQueryParameter": {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to skip.",
+ "minimum": 0,
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionEntityIdParameter": {
+ "name": "sid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "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."
+ },
+ "TagIdParameter": {
+ "name": "tagId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TagDescriptionIdParameter": {
+ "name": "tagDescriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TemplateNameParameter": {
+ "name": "templateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "applicationApprovedNotificationMessage",
+ "accountClosedDeveloper",
+ "quotaLimitApproachingDeveloperNotificationMessage",
+ "newDeveloperNotificationMessage",
+ "emailChangeIdentityDefault",
+ "inviteUserNotificationMessage",
+ "newCommentNotificationMessage",
+ "confirmSignUpIdentityDefault",
+ "newIssueNotificationMessage",
+ "purchaseDeveloperNotificationMessage",
+ "passwordResetIdentityDefault",
+ "passwordResetByAdminNotificationMessage",
+ "rejectDeveloperNotificationMessage",
+ "requestDeveloperNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "TemplateName",
+ "modelAsString": true
+ },
+ "description": "Email Template Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "User identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "GatewayIdParameter": {
+ "name": "gatewayId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "GatewayHostnameConfigurationIdParameter": {
+ "name": "hcId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ContentTypeIdParameter": {
+ "name": "contentTypeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content type identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ContentItemIdParameter": {
+ "name": "contentItemId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content item identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json
new file mode 100644
index 000000000000..4db90a55a476
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json
@@ -0,0 +1,4515 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": {
+ "get": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_ListByService",
+ "description": "Lists all APIs of the API Management service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-apis"
+ },
+ "x-ms-examples": {
+ "ApiManagementListApis": {
+ "$ref": "./examples/ApiManagementListApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || isCurrent | filter | eq, ne | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
+ },
+ {
+ "name": "expandApiVersionSet",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include full ApiVersionSet resource in response"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of Apis.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApi": {
+ "$ref": "./examples/ApiManagementHeadApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Get",
+ "description": "Gets the details of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiContract": {
+ "$ref": "./examples/ApiManagementGetApiContract.json"
+ },
+ "ApiManagementGetApiRevisionContract": {
+ "$ref": "./examples/ApiManagementGetApiRevision.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.sun.wadl+xml",
+ "application/vnd.swagger.doc+json",
+ "application/wsdl+xml",
+ "application/vnd.oai.openapi",
+ "application/vnd.oai.openapi+json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified API entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_CreateOrUpdate",
+ "description": "Creates new or updates existing specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiUsingOai3Import": {
+ "$ref": "./examples/ApiManagementCreateApiUsingOai3Import.json"
+ },
+ "ApiManagementCreateApiUsingSwaggerImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingSwaggerImport.json"
+ },
+ "ApiManagementCreateApiUsingWadlImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingWadlImport.json"
+ },
+ "ApiManagementCreateSoapToRestApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateSoapPassThroughApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateApi": {
+ "$ref": "./examples/ApiManagementCreateApi.json"
+ },
+ "ApiManagementCreateApiRevisionFromExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiRevisionFromExistingApi.json"
+ },
+ "ApiManagementCreateApiNewVersionUsingExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiNewVersionUsingExistingApi.json"
+ },
+ "ApiManagementCreateApiClone": {
+ "$ref": "./examples/ApiManagementCreateApiClone.json"
+ },
+ "ApiManagementCreateApiWithOpenIdConnect": {
+ "$ref": "./examples/ApiManagementCreateApiWithOpenIdConnect.json"
+ },
+ "ApiManagementCreateApiUsingImportOverrideServiceUrl": {
+ "$ref": "./examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCreateOrUpdateParameter"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "API was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "202": {
+ "description": "Request to create or update API was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Update",
+ "description": "Updates the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApi": {
+ "$ref": "./examples/ApiManagementUpdateApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiUpdateContract"
+ },
+ "description": "API Update Contract parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Delete",
+ "description": "Deletes the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApi": {
+ "$ref": "./examples/ApiManagementDeleteApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "deleteRevisions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete all revisions of the Api."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API was successfully deleted."
+ },
+ "204": {
+ "description": "The API was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": {
+ "get": {
+ "tags": [
+ "ApiRevision"
+ ],
+ "operationId": "ApiRevision_ListByService",
+ "description": "Lists all revisions of an API.",
+ "x-ms-examples": {
+ "ApiManagementListApiRevisions": {
+ "$ref": "./examples/ApiManagementListApiRevisions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of revision details.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiRevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiRevisionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": {
+ "get": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_ListByService",
+ "description": "Lists all releases of an API. An API release is created when making an API Revision current. Releases are also used to rollback to previous revisions. Results will be paged and can be constrained by the $top and $skip parameters.",
+ "x-ms-examples": {
+ "ApiManagementListApiReleases": {
+ "$ref": "./examples/ApiManagementListApiReleases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| notes | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of API Releases.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiReleaseContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": {
+ "head": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_GetEntityTag",
+ "description": "Returns the etag of an API release.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiRelease": {
+ "$ref": "./examples/ApiManagementHeadApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the entity state (Etag) version of the api release as specified by its identifier.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Get",
+ "description": "Returns the details of an API release.",
+ "x-ms-examples": {
+ "ApiManagementGetApiRelease": {
+ "$ref": "./examples/ApiManagementGetApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns the details of an API Release.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_CreateOrUpdate",
+ "description": "Creates a new Release for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiRelease": {
+ "$ref": "./examples/ApiManagementCreateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Release was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Release was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Update",
+ "description": "Updates the details of the release of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiRelease": {
+ "$ref": "./examples/ApiManagementUpdateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "description": "API Release Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Release was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Delete",
+ "description": "Deletes the specified release in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiRelease": {
+ "$ref": "./examples/ApiManagementDeleteApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API release successfully removed"
+ },
+ "204": {
+ "description": "API release successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": {
+ "get": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_ListByApi",
+ "description": "Lists a collection of the operations for the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperations": {
+ "$ref": "./examples/ApiManagementListApiOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of operation summary entities at the API level.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/OperationContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": {
+ "head": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperation": {
+ "$ref": "./examples/ApiManagementHeadApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API operation entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Get",
+ "description": "Gets the details of the API Operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperation": {
+ "$ref": "./examples/ApiManagementGetApiOperation.json"
+ },
+ "ApiManagementGetApiOperationPetStore": {
+ "$ref": "./examples/ApiManagementGetApiOperationPetStore.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Operation entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_CreateOrUpdate",
+ "description": "Creates a new operation in the API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperation": {
+ "$ref": "./examples/ApiManagementCreateApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Operation was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Operation was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Update",
+ "description": "Updates the details of the operation in the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiOperation": {
+ "$ref": "./examples/ApiManagementUpdateApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationUpdateContract"
+ },
+ "description": "API Operation Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Delete",
+ "description": "Deletes the specified operation in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperation": {
+ "$ref": "./examples/ApiManagementDeleteApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API operation successfully removed"
+ },
+ "204": {
+ "description": "API operation successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies": {
+ "get": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_ListByOperation",
+ "description": "Get the list of policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationPolicies": {
+ "$ref": "./examples/ApiManagementListApiOperationPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operations Policy Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API operation policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_Get",
+ "description": "Get the policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementGetApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operation Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementCreateApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Operation policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api Operation policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": {
+ "get": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_ListByOperation",
+ "description": "Lists all Tags associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationTags": {
+ "$ref": "./examples/ApiManagementListApiOperationTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Operation entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_GetEntityStateByOperation",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperationTag": {
+ "$ref": "./examples/ApiManagementHeadApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_GetByOperation",
+ "description": "Get tag associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperationTag": {
+ "$ref": "./examples/ApiManagementGetApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_AssignToOperation",
+ "description": "Assign tag to the Operation.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperationTag": {
+ "$ref": "./examples/ApiManagementCreateApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Operation.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Operation.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_DetachFromOperation",
+ "description": "Detach the tag from the Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperationTag": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag was successfully removed from Operation"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist in Operation"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": {
+ "get": {
+ "tags": [
+ "ApiProduct"
+ ],
+ "operationId": "ApiProduct_ListByApis",
+ "description": "Lists all Products, which the API is part of.",
+ "x-ms-examples": {
+ "ApiManagementListApiProducts": {
+ "$ref": "./examples/ApiManagementListApiProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of products which have the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ProductContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": {
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_ListByApi",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApiPolicies": {
+ "$ref": "./examples/ApiManagementListApiPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Policy Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Get",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiPolicy": {
+ "$ref": "./examples/ApiManagementGetApiPolicy.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiPolicy": {
+ "$ref": "./examples/ApiManagementCreateApiPolicy.json"
+ },
+ "ApiManagementCreateApiPolicyNonXmlEncoded": {
+ "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the policy configuration at the API level."
+ },
+ "204": {
+ "description": "Successfully deleted the policy configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": {
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_ListByApi",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApiSchemas": {
+ "$ref": "./examples/ApiManagementListApiSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| contentType | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Schema Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
+ "head": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiSchema": {
+ "$ref": "./examples/ApiManagementHeadApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified schema entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Get",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiSchema": {
+ "$ref": "./examples/ApiManagementGetApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Schema information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_CreateOrUpdate",
+ "description": "Creates or updates schema configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiSchema": {
+ "$ref": "./examples/ApiManagementCreateApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "description": "The schema contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update Api schema was accepted."
+ },
+ "201": {
+ "description": "Api schema configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api schema configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Delete",
+ "description": "Deletes the schema configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiSchema": {
+ "$ref": "./examples/ApiManagementDeleteApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "If true removes all references to the schema before deleting it."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the schema configuration at the API level."
+ },
+ "204": {
+ "description": "Successfully deleted the schema configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": {
+ "get": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_ListByService",
+ "description": "Lists all diagnostics of an API.",
+ "x-ms-examples": {
+ "ApiManagementListApiDiagnostics": {
+ "$ref": "./examples/ApiManagementListApiDiagnostics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of diagnostics for an API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": {
+ "head": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Get",
+ "description": "Gets the details of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiDiagnostic": {
+ "$ref": "./examples/ApiManagementGetApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Diagnostic entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic for an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Diagnostic was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Diagnostic was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Update",
+ "description": "Updates the details of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Diagnostic Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Delete",
+ "description": "Deletes the specified Diagnostic from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic successfully removed"
+ },
+ "204": {
+ "description": "Diagnostic successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues": {
+ "get": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_ListByService",
+ "description": "Lists all issues associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssues": {
+ "$ref": "./examples/ApiManagementListApiIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | |"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issues for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": {
+ "head": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssue": {
+ "$ref": "./examples/ApiManagementHeadApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Get",
+ "description": "Gets the details of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssue": {
+ "$ref": "./examples/ApiManagementGetApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Issue entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_CreateOrUpdate",
+ "description": "Creates a new Issue for an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssue": {
+ "$ref": "./examples/ApiManagementCreateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Update",
+ "description": "Updates an existing issue for an API.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiIssue": {
+ "$ref": "./examples/ApiManagementUpdateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api issue updated successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Delete",
+ "description": "Deletes the specified Issue from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssue": {
+ "$ref": "./examples/ApiManagementDeleteApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Issue successfully removed"
+ },
+ "204": {
+ "description": "Issue successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": {
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_ListByService",
+ "description": "Lists all comments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueComments": {
+ "$ref": "./examples/ApiManagementListApiIssueComments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue comments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueCommentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueComment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Get",
+ "description": "Gets the details of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueComment": {
+ "$ref": "./examples/ApiManagementGetApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Comment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_CreateOrUpdate",
+ "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueComment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue comment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue comment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueComment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Comment successfully removed"
+ },
+ "204": {
+ "description": "Comment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": {
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_ListByService",
+ "description": "Lists all attachments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueAttachments": {
+ "$ref": "./examples/ApiManagementListApiIssueAttachments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue attachments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueAttachmentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Get",
+ "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementGetApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Attachment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_CreateOrUpdate",
+ "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue attachment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue attachment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Attachment successfully removed"
+ },
+ "204": {
+ "description": "Attachment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": {
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_ListByService",
+ "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations",
+ "x-ms-examples": {
+ "ApiManagementListApiTagDescriptions": {
+ "$ref": "./examples/ApiManagementListApiTagDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tagDescriptions associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagDescriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagDescriptionId}": {
+ "head": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_GetEntityTag",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTagDescription": {
+ "$ref": "./examples/ApiManagementHeadApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Get",
+ "description": "Get Tag description in scope of API",
+ "x-ms-examples": {
+ "ApiManagementGetApiTagDescription": {
+ "$ref": "./examples/ApiManagementGetApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the description of the tag specified by its identifier in scope if the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_CreateOrUpdate",
+ "description": "Create/Update tag description in scope of the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTagDescription": {
+ "$ref": "./examples/ApiManagementCreateApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag Description was created for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag Description was updated for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Delete",
+ "description": "Delete tag description for the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTagDescription": {
+ "$ref": "./examples/ApiManagementDeleteApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag description successfully removed"
+ },
+ "204": {
+ "description": "Tag description successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": {
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_ListByApi",
+ "description": "Lists all Tags associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementListApiTags": {
+ "$ref": "./examples/ApiManagementListApiTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetEntityStateByApi",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTag": {
+ "$ref": "./examples/ApiManagementHeadApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetByApi",
+ "description": "Get tag associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetApiTag": {
+ "$ref": "./examples/ApiManagementGetApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_AssignToApi",
+ "description": "Assign tag to the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTag": {
+ "$ref": "./examples/ApiManagementCreateApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_DetachFromApi",
+ "description": "Detach the tag from the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTag": {
+ "$ref": "./examples/ApiManagementDeleteApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API/Tag association successfully removed"
+ },
+ "204": {
+ "description": "API/Tag association successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": {
+ "get": {
+ "tags": [
+ "ApiOperationsByTag"
+ ],
+ "operationId": "Operation_ListByTags",
+ "description": "Lists a collection of operations associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationsByTags": {
+ "$ref": "./examples/ApiManagementListApiOperationsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedOperations",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Operations."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "ApiExport_Get",
+ "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.",
+ "x-ms-examples": {
+ "ApiManagementGetApiExportInOpenApi2dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi2dot0.json"
+ },
+ "ApiManagementGetApiExportInOpenApi3dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi3dot0.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "swagger-link",
+ "wadl-link",
+ "wsdl-link",
+ "openapi-link",
+ "openapi+json-link"
+ ],
+ "x-ms-enum": {
+ "name": "ExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link",
+ "description": "Export the Api Definition in OpenApi Specification 2.0 format to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link",
+ "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "name": "Openapi"
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 as JSON document to Storage Blob.",
+ "name": "OpenapiJson"
+ }
+ ]
+ },
+ "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ {
+ "name": "export",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ExportApi"
+ },
+ "description": "Query parameter required to export the API details."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json
new file mode 100644
index 000000000000..218a30574d1b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieve a collection of Apis associated with a tag in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": {
+ "get": {
+ "tags": [
+ "ApisByTag"
+ ],
+ "operationId": "Api_ListByTags",
+ "description": "Lists a collection of apis associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApisByTags": {
+ "$ref": "./examples/ApiManagementListApisByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || isCurrent | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedApis",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged APIs."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json
new file mode 100644
index 000000000000..83bd0afd7008
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json
@@ -0,0 +1,376 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on the ApiVersionSet entity associated with your Azure API Management deployment. Using this entity you create and manage API Version Sets that are used to group APIs for consistent versioning.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets": {
+ "get": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_ListByService",
+ "description": "Lists a collection of API Version Sets in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListApiVersionSets": {
+ "$ref": "./examples/ApiManagementListApiVersionSets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Api Version Set entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiVersionSetContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}": {
+ "head": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiVersionSet": {
+ "$ref": "./examples/ApiManagementHeadApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Api Version Set entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_Get",
+ "description": "Gets the details of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiVersionSet": {
+ "$ref": "./examples/ApiManagementGetApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified Api Version Set entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_CreateOrUpdate",
+ "description": "Creates or Updates a Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiVersionSet": {
+ "$ref": "./examples/ApiManagementCreateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Version Set was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_Update",
+ "description": "Updates the details of the Api VersionSet specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiVersionSet": {
+ "$ref": "./examples/ApiManagementUpdateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Delete",
+ "description": "Deletes specific Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiVersionSet": {
+ "$ref": "./examples/ApiManagementDeleteApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "204": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json
new file mode 100644
index 000000000000..32e766c4c6c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json
@@ -0,0 +1,427 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for managing OAuth2 servers configuration in your Azure API Management deployment. OAuth 2.0 can be used to authorize developer accounts for Azure API Management. For more information refer to [How to OAuth2](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2).",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers": {
+ "get": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_ListByService",
+ "description": "Lists a collection of authorization servers defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListAuthorizationServers": {
+ "$ref": "./examples/ApiManagementListAuthorizationServers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Authorization Server entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": {
+ "head": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadAuthorizationServer": {
+ "$ref": "./examples/ApiManagementHeadAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified authorization server entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Get",
+ "description": "Gets the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetAuthorizationServer": {
+ "$ref": "./examples/ApiManagementGetAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the specified authorization server. No secrets included.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_CreateOrUpdate",
+ "description": "Creates new authorization server or updates an existing authorization server.",
+ "x-ms-examples": {
+ "ApiManagementCreateAuthorizationServer": {
+ "$ref": "./examples/ApiManagementCreateAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Authorization server was successfully registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "200": {
+ "description": "Authorization server is already registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Update",
+ "description": "Updates the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateAuthorizationServer": {
+ "$ref": "./examples/ApiManagementUpdateAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerUpdateContract"
+ },
+ "description": "OAuth2 Server settings Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The authorization server settings were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Delete",
+ "description": "Deletes specific authorization server instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteAuthorizationServer": {
+ "$ref": "./examples/ApiManagementDeleteAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The authorization server settings were successfully deleted."
+ },
+ "204": {
+ "description": "The authorization server settings were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}/listSecrets": {
+ "post": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_ListSecrets",
+ "description": "Gets the client secret details of the authorization server.",
+ "x-ms-examples": {
+ "ApiManagementAuthorizationServerListSecrets": {
+ "$ref": "./examples/ApiManagementAuthorizationServerListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the secrets of the specified authorization server.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerSecretsContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json
new file mode 100644
index 000000000000..dbcf80837dc1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json
@@ -0,0 +1,430 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": {
+ "get": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_ListByService",
+ "description": "Lists a collection of backends in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListBackends": {
+ "$ref": "./examples/ApiManagementListBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Backend entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}": {
+ "head": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadBackend": {
+ "$ref": "./examples/ApiManagementHeadBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified backend entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Get",
+ "description": "Gets the details of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetBackend": {
+ "$ref": "./examples/ApiManagementGetBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Backend entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_CreateOrUpdate",
+ "description": "Creates or Updates a backend.",
+ "x-ms-examples": {
+ "ApiManagementCreateBackendServiceFabric": {
+ "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json"
+ },
+ "ApiManagementCreateBackendProxyBackend": {
+ "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Backend was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "200": {
+ "description": "The existing backend was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Update",
+ "description": "Updates an existing backend.",
+ "x-ms-examples": {
+ "ApiManagementUpdateBackend": {
+ "$ref": "./examples/ApiManagementUpdateBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing backend was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Delete",
+ "description": "Deletes the specified backend.",
+ "x-ms-examples": {
+ "ApiManagementDeleteBackend": {
+ "$ref": "./examples/ApiManagementDeleteBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backend was successfully deleted."
+ },
+ "204": {
+ "description": "The backend was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}/reconnect": {
+ "post": {
+ "tags": [
+ "BackendReconnect"
+ ],
+ "operationId": "Backend_Reconnect",
+ "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.",
+ "x-ms-examples": {
+ "ApiManagementBackendReconnect": {
+ "$ref": "./examples/ApiManagementBackendReconnect.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendReconnectContract"
+ },
+ "description": "Reconnect request parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Reconnect request accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json
new file mode 100644
index 000000000000..af87ef928dd6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json
@@ -0,0 +1,372 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Cache entity in your Azure API Management deployment. Azure API Management also allows for caching responses in an external Azure Cache for Redis. For more information refer to [External Redis Cache in ApiManagement](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external).",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches": {
+ "get": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_ListByService",
+ "description": "Lists a collection of all external Caches in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCaches": {
+ "$ref": "./examples/ApiManagementListCaches.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Cache entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches/{cacheId}": {
+ "head": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCache": {
+ "$ref": "./examples/ApiManagementHeadCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Cache entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Get",
+ "description": "Gets the details of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCache": {
+ "$ref": "./examples/ApiManagementGetCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Cache entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_CreateOrUpdate",
+ "description": "Creates or updates an External Cache to be used in Api Management instance.",
+ "externalDocs": {
+ "description": "Use an external cache in Azure API Management",
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external"
+ },
+ "x-ms-examples": {
+ "ApiManagementCreateCache": {
+ "$ref": "./examples/ApiManagementCreateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Cache was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "200": {
+ "description": "The Cache details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Update",
+ "description": "Updates the details of the cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateCache": {
+ "$ref": "./examples/ApiManagementUpdateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Delete",
+ "description": "Deletes specific Cache.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCache": {
+ "$ref": "./examples/ApiManagementDeleteCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache was successfully deleted."
+ },
+ "204": {
+ "description": "The Cache was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json
new file mode 100644
index 000000000000..44928451f319
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json
@@ -0,0 +1,325 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment. Certificates can be used to setup mutual authentication with your Backend in API Management. For more information refer to [How to secure backend using Mutual Auth Certificate](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates).",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_ListByService",
+ "description": "Lists a collection of all certificates in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCertificates": {
+ "$ref": "./examples/ApiManagementListCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || expirationDate | filter | ge, le, eq, ne, gt, lt | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Certificate entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": {
+ "head": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCertificate": {
+ "$ref": "./examples/ApiManagementHeadCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified certificate entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets the details of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCertificate": {
+ "$ref": "./examples/ApiManagementGetCertificate.json"
+ },
+ "ApiManagementGetCertificateWithKeyVault": {
+ "$ref": "./examples/ApiManagementGetCertificateWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Certificate entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_CreateOrUpdate",
+ "description": "Creates or updates the certificate being used for authentication with the backend.",
+ "externalDocs": {
+ "description": "How to secure back-end services using client certificate authentication in Azure API Management",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/"
+ },
+ "x-ms-examples": {
+ "ApiManagementCreateCertificate": {
+ "$ref": "./examples/ApiManagementCreateCertificate.json"
+ },
+ "ApiManagementCreateCertificateWithKeyVault": {
+ "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new certificate was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "200": {
+ "description": "The certificate details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes specific certificate.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCertificate": {
+ "$ref": "./examples/ApiManagementDeleteCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate was successfully deleted."
+ },
+ "204": {
+ "description": "The certificate was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json
new file mode 100644
index 000000000000..f7807d846737
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json
@@ -0,0 +1,513 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes": {
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_ListByService",
+ "description": "Returns list of content types",
+ "x-ms-examples": {
+ "ApiManagementListContentTypes": {
+ "$ref": "./examples/ApiManagementListContentTypes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of content type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}": {
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_Get",
+ "description": "Gets API Management content type details.",
+ "x-ms-examples": {
+ "ApiManagementGetContentType": {
+ "$ref": "./examples/ApiManagementGetContentType.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the content type.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_CreateOrUpdate",
+ "description": "Creates or updates an Content Type.",
+ "x-ms-examples": {
+ "ApiManagementCreateContentType": {
+ "$ref": "./examples/ApiManagementCreateContentType.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Content type was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "200": {
+ "description": "The existing content type was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_Delete",
+ "description": "Removes specified content type.",
+ "x-ms-examples": {
+ "ApiManagementDeleteContentType": {
+ "$ref": "./examples/ApiManagementDeleteContentType.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content type was successfully deleted."
+ },
+ "204": {
+ "description": "The content type was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems": {
+ "get": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentTypeContentItem_ListByService",
+ "description": "Returns list of content items",
+ "x-ms-examples": {
+ "ApiManagementListContentTypeContentItems": {
+ "$ref": "./examples/ApiManagementListContentTypeContentItems.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Content Type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}": {
+ "head": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentTypeContentItem_GetEntityTag",
+ "description": "Returns content item metadata",
+ "x-ms-examples": {
+ "ApiManagementHeadContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementHeadContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified content item entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentTypeContentItem_Get",
+ "description": "Returns content item details",
+ "x-ms-examples": {
+ "ApiManagementGetContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementGetContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the content item.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentTypeContentItem_CreateOrUpdate",
+ "description": "Creates new content item",
+ "x-ms-examples": {
+ "ApiManagementCreateContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementCreateContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Content item was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "200": {
+ "description": "The existing content item was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentTypeContentItem_Delete",
+ "description": "Removes specified content item.",
+ "x-ms-examples": {
+ "ApiManagementDeleteContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementDeleteContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content item was successfully deleted."
+ },
+ "204": {
+ "description": "The content item was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json
new file mode 100644
index 000000000000..4a9f7b9f3a3f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json
@@ -0,0 +1,175 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/deletedservices": {
+ "get": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_ListBySubscription",
+ "description": "Lists all soft-deleted services available for undelete for the given subscription.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementDeletedServicesListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all soft-deleted services available for undelete for the given subscription.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServicesCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}": {
+ "get": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_GetByName",
+ "description": "Get soft-deleted Api Management Service by name.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementGetDeletedServiceByName.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted API Management service."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Soft-deleted Api Management Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServiceContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_Purge",
+ "description": "Purges Api Management Service (deletes it with no option to undelete).",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementDeletedServicesPurge.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted API Management service."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Service was successfully purged."
+ },
+ "202": {
+ "description": "Api Service purge started.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServiceContract"
+ }
+ },
+ "204": {
+ "description": "The service does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json
new file mode 100644
index 000000000000..48547abde3df
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json
@@ -0,0 +1,1593 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to manage Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ApiManagement/operations": {
+ "get": {
+ "tags": [
+ "ApiManagementOperations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.",
+ "operationId": "ApiManagementOperations_List",
+ "x-ms-examples": {
+ "ApiManagementListOperations": {
+ "$ref": "./examples/ApiManagementListOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/skus": {
+ "get": {
+ "tags": [
+ "ApiManagementServiceSkus"
+ ],
+ "summary": "Gets available SKUs for API Management service",
+ "description": "Gets all available SKU for a given API Management service",
+ "operationId": "ApiManagementServiceSkus_ListAvailableServiceSkus",
+ "x-ms-examples": {
+ "ApiManagementListSKUs-Dedicated": {
+ "$ref": "./examples/ApiManagementListSKUs-Dedicated.json"
+ },
+ "ApiManagementListSKUs-Consumption": {
+ "$ref": "./examples/ApiManagementListSKUs-Consumption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of SKUs.",
+ "schema": {
+ "$ref": "#/definitions/ResourceSkuResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Restore",
+ "description": "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementRestoreService": {
+ "$ref": "./examples/ApiManagementRestoreService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the Restore API Management service from backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully restored the backup onto the API Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Backup",
+ "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementCreateBackup": {
+ "$ref": "./examples/ApiManagementCreateBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the ApiManagementService_Backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully backed up the API Management service to the storage account.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": {
+ "put": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CreateOrUpdate",
+ "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementCreateService": {
+ "$ref": "./examples/ApiManagementCreateService.json"
+ },
+ "ApiManagementCreateMultiRegionServiceWithCustomHostname": {
+ "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json"
+ },
+ "ApiManagementCreateServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementCreateServiceHavingMsi.json"
+ },
+ "ApiManagementCreateServiceWithSystemCertificates": {
+ "$ref": "./examples/ApiManagementCreateServiceWithSystemCertificates.json"
+ },
+ "ApiManagementCreateServiceWithUserAssignedIdentity": {
+ "$ref": "./examples/ApiManagementCreateServiceWithUserAssignedIdentity.json"
+ },
+ "ApiManagementCreateServiceInZones": {
+ "$ref": "./examples/ApiManagementCreateServiceInZones.json"
+ },
+ "ApiManagementUndelete": {
+ "$ref": "./examples/ApiManagementUndelete.json"
+ },
+ "ApiManagementCreateServiceWithCustomHostnameKeyVault": {
+ "$ref": "./examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully set up.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted the configuration change when updating the service."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Update",
+ "description": "Updates an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementUpdateServiceDisableTls10": {
+ "$ref": "./examples/ApiManagementUpdateServiceDisableTls10.json"
+ },
+ "ApiManagementUpdateServicePublisherDetails": {
+ "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceUpdateParameters"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "The service update request was Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Get",
+ "description": "Gets an API Management service resource description.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetService": {
+ "$ref": "./examples/ApiManagementServiceGetService.json"
+ },
+ "ApiManagementServiceGetServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementServiceGetServiceHavingMsi.json"
+ },
+ "ApiManagementServiceGetMultiRegionInternalVnet": {
+ "$ref": "./examples/ApiManagementServiceGetMultiRegionInternalVnet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got the API Management Service Resource.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Delete",
+ "description": "Deletes an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceDeleteService": {
+ "$ref": "./examples/ApiManagementServiceDeleteService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Service was successfully deleted."
+ },
+ "202": {
+ "description": "The service delete request was Accepted.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "204": {
+ "description": "The service does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ListByResourceGroup",
+ "description": "List all API Management services within a resource group.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscriptionAndResourceGroup": {
+ "$ref": "./examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_List",
+ "description": "Lists all API Management services within an Azure subscription.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscription": {
+ "$ref": "./examples/ApiManagementListServiceBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_GetSsoToken",
+ "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetSsoToken": {
+ "$ref": "./examples/ApiManagementServiceGetSsoToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK if successful with the SSO Redirect URI.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CheckNameAvailability",
+ "description": "Checks availability and correctness of a name for an API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceCheckNameAvailability": {
+ "$ref": "./examples/ApiManagementServiceCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters"
+ },
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of check name availability.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates",
+ "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated network settings.",
+ "x-ms-examples": {
+ "ApiManagementApplyNetworkConfigurationUpdates": {
+ "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters"
+ },
+ "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Network configuration updates were successfully applied on the Api Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceSkuResults": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuResult"
+ },
+ "description": "The list of skus available for the service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of API Management service Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The API Management service SKUs operation response."
+ },
+ "ResourceSkuResult": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the SKU applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "readOnly": true,
+ "description": "Specifies API Management SKU."
+ },
+ "capacity": {
+ "$ref": "#/definitions/ResourceSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of API Management units."
+ }
+ },
+ "description": "Describes an available API Management service SKU."
+ },
+ "ResourceSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The maximum capacity that can be set."
+ },
+ "default": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuCapacityScaleType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "automatic",
+ "description": "Supported scale type automatic."
+ },
+ {
+ "value": "manual",
+ "description": "Supported scale type manual."
+ },
+ {
+ "value": "none",
+ "description": "Scaling not supported."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes scaling information of a SKU."
+ },
+ "ResourceSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Sku.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
+ },
+ "enum": [
+ "Developer",
+ "Standard",
+ "Premium",
+ "Basic",
+ "Consumption",
+ "Isolated"
+ ],
+ "x-ms-enum": {
+ "name": "SkuType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Developer",
+ "description": "Developer SKU of Api Management."
+ },
+ {
+ "value": "Standard",
+ "description": "Standard SKU of Api Management."
+ },
+ {
+ "value": "Premium",
+ "description": "Premium SKU of Api Management."
+ },
+ {
+ "value": "Basic",
+ "description": "Basic SKU of Api Management."
+ },
+ {
+ "value": "Consumption",
+ "description": "Consumption SKU of Api Management."
+ },
+ {
+ "value": "Isolated",
+ "description": "Isolated SKU of Api Management."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes an available API Management SKU."
+ },
+ "CertificateInformation": {
+ "properties": {
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Subject of the certificate."
+ }
+ },
+ "required": [
+ "expiry",
+ "thumbprint",
+ "subject"
+ ],
+ "description": "SSL certificate information."
+ },
+ "CertificateConfiguration": {
+ "properties": {
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "storeName": {
+ "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.",
+ "type": "string",
+ "enum": [
+ "CertificateAuthority",
+ "Root"
+ ]
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ }
+ },
+ "required": [
+ "storeName"
+ ],
+ "description": "Certificate configuration which consist of non-trusted intermediates and root certificates."
+ },
+ "HostnameConfiguration": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Hostname type.",
+ "enum": [
+ "Proxy",
+ "Portal",
+ "Management",
+ "Scm",
+ "DeveloperPortal"
+ ],
+ "x-ms-enum": {
+ "name": "HostnameType",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Hostname to configure on the Api Management service."
+ },
+ "keyVaultId": {
+ "type": "string",
+ "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with MSI. The secret should be of type *application/x-pkcs12*"
+ },
+ "identityClientId": {
+ "type": "string",
+ "description": "System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate."
+ },
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "defaultSslBinding": {
+ "type": "boolean",
+ "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.",
+ "default": false
+ },
+ "negotiateClientCertificate": {
+ "type": "boolean",
+ "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false.",
+ "default": false
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ }
+ },
+ "required": [
+ "type",
+ "hostName"
+ ],
+ "description": "Custom hostname configuration."
+ },
+ "VirtualNetworkConfiguration": {
+ "properties": {
+ "vnetid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default."
+ },
+ "subnetname": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ "subnetResourceId": {
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$",
+ "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in."
+ }
+ },
+ "description": "Configuration of a virtual network to which API Management service is deployed."
+ },
+ "AdditionalLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location name of the additional region among Azure Data center regions."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "publicIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "privateIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration for the location."
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Region.",
+ "readOnly": true
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.",
+ "default": false
+ }
+ },
+ "required": [
+ "location",
+ "sku"
+ ],
+ "description": "Description of an additional API Management resource location."
+ },
+ "ApiManagementServiceBackupRestoreParameters": {
+ "properties": {
+ "storageAccount": {
+ "type": "string",
+ "description": "Azure Cloud Storage account (used to place/retrieve the backup) name."
+ },
+ "accessKey": {
+ "type": "string",
+ "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key."
+ },
+ "containerName": {
+ "type": "string",
+ "description": "Azure Cloud Storage blob container name used to place/retrieve the backup."
+ },
+ "backupName": {
+ "type": "string",
+ "description": "The name of the backup file to create."
+ }
+ },
+ "required": [
+ "storageAccount",
+ "accessKey",
+ "containerName",
+ "backupName"
+ ],
+ "description": "Parameters supplied to the Backup/Restore of an API Management service operation."
+ },
+ "ApiManagementServiceProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "required": [
+ "publisherEmail",
+ "publisherName"
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceUpdateProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceBaseProperties": {
+ "properties": {
+ "notificationSenderEmail": {
+ "type": "string",
+ "description": "Email address from which the notification will be sent.",
+ "maxLength": 100
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.",
+ "readOnly": true
+ },
+ "targetProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.",
+ "readOnly": true
+ },
+ "createdAtUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.",
+ "readOnly": true
+ },
+ "gatewayUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service.",
+ "readOnly": true
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Default Region.",
+ "readOnly": true
+ },
+ "portalUrl": {
+ "type": "string",
+ "description": "Publisher portal endpoint Url of the API Management service.",
+ "readOnly": true
+ },
+ "managementApiUrl": {
+ "type": "string",
+ "description": "Management API endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "scmUrl": {
+ "type": "string",
+ "description": "SCM endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "developerPortalUrl": {
+ "type": "string",
+ "description": "DEveloper Portal endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "hostnameConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostnameConfiguration"
+ },
+ "description": "Custom hostname configuration of the API Management service."
+ },
+ "publicIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "privateIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration of the API Management service."
+ },
+ "additionalLocations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalLocation"
+ },
+ "description": "Additional datacenter locations of the API Management service."
+ },
+ "customProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Custom properties of the API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateConfiguration"
+ },
+ "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."
+ },
+ "enableClientCertificate": {
+ "type": "boolean",
+ "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.",
+ "default": false
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.",
+ "default": false
+ },
+ "virtualNetworkType": {
+ "type": "string",
+ "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.",
+ "default": "None",
+ "enum": [
+ "None",
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "The service is not part of any Virtual Network."
+ },
+ {
+ "value": "External",
+ "description": "The service is part of Virtual Network and it is accessible from Internet."
+ },
+ {
+ "value": "Internal",
+ "description": "The service is part of Virtual Network and it is only accessible from within the virtual network."
+ }
+ ]
+ }
+ },
+ "apiVersionConstraint": {
+ "$ref": "#/definitions/ApiVersionConstraint",
+ "description": "Control Plane Apis version constraint for the API Management service."
+ },
+ "restore": {
+ "type": "boolean",
+ "description": "Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.",
+ "default": false
+ }
+ },
+ "description": "Base Properties of an API Management service resource description."
+ },
+ "ApiVersionConstraint": {
+ "properties": {
+ "minApiVersion": {
+ "type": "string",
+ "description": "Limit control plane API calls to API Management service with version equal to or newer than this value.",
+ "example": "2019-01-01"
+ }
+ },
+ "description": "Control Plane Apis version constraint for the API Management service."
+ },
+ "ApiManagementServiceSkuProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Sku.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
+ },
+ "enum": [
+ "Developer",
+ "Standard",
+ "Premium",
+ "Basic",
+ "Consumption",
+ "Isolated"
+ ],
+ "x-ms-enum": {
+ "name": "SkuType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Developer",
+ "description": "Developer SKU of Api Management."
+ },
+ {
+ "value": "Standard",
+ "description": "Standard SKU of Api Management."
+ },
+ {
+ "value": "Premium",
+ "description": "Premium SKU of Api Management."
+ },
+ {
+ "value": "Basic",
+ "description": "Basic SKU of Api Management."
+ },
+ {
+ "value": "Consumption",
+ "description": "Consumption SKU of Api Management."
+ },
+ {
+ "value": "Isolated",
+ "description": "Isolated SKU of Api Management."
+ }
+ ]
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0."
+ }
+ },
+ "required": [
+ "name",
+ "capacity"
+ ],
+ "description": "API Management service resource SKU properties."
+ },
+ "ApiManagementServiceResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "description": "A single API Management service resource in List or Get response."
+ },
+ "ApimResource": {
+ "description": "The Resource definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name.",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type for API Management resource is set to Microsoft.ApiManagement."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ApiManagementServiceUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceUpdateProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "description": "Parameter supplied to Update Api Management Service."
+ },
+ "ApiManagementServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Result of the List API Management services operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The response of the List API Management services operation."
+ },
+ "ApiManagementServiceGetSsoTokenResult": {
+ "properties": {
+ "redirectUri": {
+ "type": "string",
+ "description": "Redirect URL to the Publisher Portal containing the SSO token."
+ }
+ },
+ "description": "The response of the GetSsoToken operation."
+ },
+ "ApiManagementServiceCheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name to check for availability."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "True if the name is available and can be used to create a new API Management service; otherwise false.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.",
+ "readOnly": true
+ },
+ "reason": {
+ "type": "string",
+ "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReason",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Response of the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceApplyNetworkConfigurationParameters": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required."
+ }
+ },
+ "description": "Parameter supplied to the Apply Network configuration operation."
+ },
+ "ApiManagementServiceIdentity": {
+ "description": "Identity properties of the Api Management service resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ApimIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The principal id of the identity."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The client tenant id of the identity."
+ },
+ "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"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "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"
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "description": "Friendly name of the resource provider",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: read, write, delete, listKeys/action, etc.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The operation origin."
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The operation properties."
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json
new file mode 100644
index 000000000000..a6bfde56707c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json
@@ -0,0 +1,376 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Diagnostic entity associated with your Azure API Management deployment. Diagnostics are used to log requests/responses in the APIM proxy.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics": {
+ "get": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_ListByService",
+ "description": "Lists all diagnostics of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListDiagnostics": {
+ "$ref": "./examples/ApiManagementListDiagnostics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of diagnostics.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": {
+ "head": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the entity tag of the diagnostic",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Get",
+ "description": "Gets the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetDiagnostic": {
+ "$ref": "./examples/ApiManagementGetDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Diagnostic entity.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Diagnostic was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "200": {
+ "description": "Diagnostic successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Update",
+ "description": "Updates the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Diagnostic Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Delete",
+ "description": "Deletes the specified Diagnostic.",
+ "x-ms-examples": {
+ "ApiManagementDeleteDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "204": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json
new file mode 100644
index 000000000000..c643ef434679
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json
@@ -0,0 +1,363 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Email Templates associated with your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates": {
+ "get": {
+ "tags": [
+ "EmailTemplate"
+ ],
+ "operationId": "EmailTemplate_ListByService",
+ "description": "Gets all email templates",
+ "x-ms-examples": {
+ "ApiManagementListTemplates": {
+ "$ref": "./examples/ApiManagementListTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Email Template for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}": {
+ "head": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadEmailTemplate": {
+ "$ref": "./examples/ApiManagementHeadEmailTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified email template entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Get",
+ "description": "Gets the details of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTemplate": {
+ "$ref": "./examples/ApiManagementGetTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Email template.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_CreateOrUpdate",
+ "description": "Updates an Email Template.",
+ "x-ms-examples": {
+ "ApiManagementCreateTemplate": {
+ "$ref": "./examples/ApiManagementCreateTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Email Template update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "200": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Update",
+ "description": "Updates API Management email template",
+ "x-ms-examples": {
+ "ApiManagementUpdateTemplate": {
+ "$ref": "./examples/ApiManagementUpdateTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "email template successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Delete",
+ "description": "Reset the Email Template to default template provided by the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTemplate": {
+ "$ref": "./examples/ApiManagementDeleteTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "204": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json
new file mode 100644
index 000000000000..fcb04a5de2ef
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json
@@ -0,0 +1,1036 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Gateway entity in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways": {
+ "get": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_ListByService",
+ "description": "Lists a collection of gateways registered with service instance.",
+ "x-ms-examples": {
+ "ApiManagementListGateways": {
+ "$ref": "./examples/ApiManagementListGateways.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || region | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Gateway entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}": {
+ "head": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadGateway": {
+ "$ref": "./examples/ApiManagementHeadGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Get",
+ "description": "Gets the details of the Gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetGateway": {
+ "$ref": "./examples/ApiManagementGetGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_CreateOrUpdate",
+ "description": "Creates or updates a Gateway to be used in Api Management instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateGateway": {
+ "$ref": "./examples/ApiManagementCreateGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Gateway was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "200": {
+ "description": "The Gateway details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Update",
+ "description": "Updates the details of the gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateGateway": {
+ "$ref": "./examples/ApiManagementUpdateGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gateway details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Delete",
+ "description": "Deletes specific Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGateway": {
+ "$ref": "./examples/ApiManagementDeleteGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gateway was successfully deleted."
+ },
+ "204": {
+ "description": "The Gateway was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/listKeys": {
+ "post": {
+ "tags": [
+ "GatewayListKeys"
+ ],
+ "operationId": "Gateway_ListKeys",
+ "description": "Retrieves gateway keys.",
+ "x-ms-examples": {
+ "ApiManagementGatewayListKeys": {
+ "$ref": "./examples/ApiManagementGatewayListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway keys.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayKeysContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/regenerateKey": {
+ "post": {
+ "tags": [
+ "GatewayRegenerateKey"
+ ],
+ "operationId": "Gateway_RegenerateKey",
+ "description": "Regenerates specified gateway key invalidating any tokens created with it.",
+ "x-ms-examples": {
+ "ApiManagementGatewayRegenerateKey": {
+ "$ref": "./examples/ApiManagementGatewayRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayKeyRegenerationRequestContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Key successfully regenerated"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/generateToken": {
+ "post": {
+ "tags": [
+ "GatewayGenerateToken"
+ ],
+ "operationId": "Gateway_GenerateToken",
+ "description": "Gets the Shared Access Authorization Token for the gateway.",
+ "x-ms-examples": {
+ "ApiManagementGatewayGenerateToken": {
+ "$ref": "./examples/ApiManagementGatewayGenerateToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayTokenRequestContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayTokenContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations": {
+ "get": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_ListByService",
+ "description": "Lists the collection of hostname configurations for the specified gateway.",
+ "x-ms-examples": {
+ "ApiManagementListGatewayHostnameConfigurations": {
+ "$ref": "./examples/ApiManagementListGatewayHostnameConfigurations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || hostname | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of hostname configuration entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations/{hcId}": {
+ "head": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_GetEntityTag",
+ "description": "Checks that hostname configuration entity specified by identifier exists for specified Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementHeadGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_Get",
+ "description": "Get details of a hostname configuration",
+ "x-ms-examples": {
+ "ApiManagementGetGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementGetGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_CreateOrUpdate",
+ "description": "Creates of updates hostname configuration for a Gateway.",
+ "x-ms-examples": {
+ "ApiManagementCreateGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementCreateGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Gateway hostname configuration was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "200": {
+ "description": "The Gateway hostname configuration details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_Delete",
+ "description": "Deletes the specified hostname configuration from the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementDeleteGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Hostname configuration was successfully removed from Gateway."
+ },
+ "204": {
+ "description": "Hostname configuration successfully removed by previous request or does not exist in Gateway."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis": {
+ "get": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_ListByService",
+ "description": "Lists a collection of the APIs associated with a gateway.",
+ "x-ms-examples": {
+ "ApiManagementListGatewayApis": {
+ "$ref": "./examples/ApiManagementListGatewayApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_GetEntityTag",
+ "description": "Checks that API entity specified by identifier is associated with the Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGatewayApi": {
+ "$ref": "./examples/ApiManagementHeadGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_CreateOrUpdate",
+ "description": "Adds an API to the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementCreateGatewayApi": {
+ "$ref": "./examples/ApiManagementCreateGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AssociationContract"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the Gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the Gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_Delete",
+ "description": "Deletes the specified API from the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGatewayApi": {
+ "$ref": "./examples/ApiManagementDeleteGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully removed from Gateway"
+ },
+ "204": {
+ "description": "API successfully removed by previous request or does not exist in Gateway"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json
new file mode 100644
index 000000000000..91cd3c56c573
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json
@@ -0,0 +1,590 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Group entity in your Azure API Management deployment. Groups are used to manage the visibility of products to developers. Each API Management service instance comes with the following immutable system groups whose membership is automatically managed by API Management. - **Administrators** - Azure subscription administrators are members of this group. - **Developers** - Authenticated developer portal users fall into this group. - **Guests** - Unauthenticated developer portal users are placed into this group. In addition to these system groups, administrators can create custom groups or [leverage external groups in associated Azure Active Directory tenants](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-add-an-external-azure-active-directory-group). Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. A user can be a member of more than one group.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups": {
+ "get": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_ListByService",
+ "description": "Lists a collection of groups defined within a service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-groups"
+ },
+ "x-ms-examples": {
+ "ApiManagementListGroups": {
+ "$ref": "./examples/ApiManagementListGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || externalId | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": {
+ "head": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroup": {
+ "$ref": "./examples/ApiManagementHeadGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified group entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Get",
+ "description": "Gets the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetGroup": {
+ "$ref": "./examples/ApiManagementGetGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Group entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_CreateOrUpdate",
+ "description": "Creates or Updates a group.",
+ "x-ms-examples": {
+ "ApiManagementCreateGroup": {
+ "$ref": "./examples/ApiManagementCreateGroup.json"
+ },
+ "ApiManagementCreateGroupExternal": {
+ "$ref": "./examples/ApiManagementCreateGroupExternal.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Group was created successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Group already exists.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Update",
+ "description": "Updates the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateGroup": {
+ "$ref": "./examples/ApiManagementUpdateGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group details were successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Delete",
+ "description": "Deletes specific group of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroup": {
+ "$ref": "./examples/ApiManagementDeleteGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully deleted."
+ },
+ "204": {
+ "description": "The group was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": {
+ "get": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_List",
+ "description": "Lists a collection of user entities associated with the group.",
+ "x-ms-examples": {
+ "ApiManagementListGroupUsers": {
+ "$ref": "./examples/ApiManagementListGroupUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || registrationDate | filter | ge, le, eq, ne, gt, lt | || note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of user entities associated with the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": {
+ "head": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_CheckEntityExists",
+ "description": "Checks that user entity specified by identifier is associated with the group entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroupUser": {
+ "$ref": "./examples/ApiManagementHeadGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Create",
+ "description": "Add existing user to existing group",
+ "x-ms-examples": {
+ "ApiManagementCreateGroupUser": {
+ "$ref": "./examples/ApiManagementCreateGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully added to the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "200": {
+ "description": "The specified user is already a member of the specified group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Delete",
+ "description": "Remove existing user from existing group.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroupUser": {
+ "$ref": "./examples/ApiManagementDeleteGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user was successfully removed from the group."
+ },
+ "204": {
+ "description": "The user was successfully removed from the group."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json
new file mode 100644
index 000000000000..3f4e1575f017
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json
@@ -0,0 +1,416 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Identity Provider entity associated with your Azure API Management deployment. Setting up an external Identity Provider for authentication can help you manage the developer portal logins using the OAuth2 flow.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders": {
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_ListByService",
+ "description": "Lists a collection of Identity Provider configured in the specified service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-authorize-developer-accounts-using-azure-active-directory"
+ },
+ "x-ms-examples": {
+ "ApiManagementListIdentityProviders": {
+ "$ref": "./examples/ApiManagementListIdentityProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Identity Providers.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}": {
+ "head": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the identityProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadIdentityProvider": {
+ "$ref": "./examples/ApiManagementHeadIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified identity provider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Get",
+ "description": "Gets the configuration details of the identity Provider configured in specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementGetIdentityProvider": {
+ "$ref": "./examples/ApiManagementGetIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified IdentityProvider entity configuration details.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_CreateOrUpdate",
+ "description": "Creates or Updates the IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementCreateIdentityProvider": {
+ "$ref": "./examples/ApiManagementCreateIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderCreateContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "IdentityProvider configuration were successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "200": {
+ "description": "The existing Identity Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Update",
+ "description": "Updates an existing IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementUpdateIdentityProvider": {
+ "$ref": "./examples/ApiManagementUpdateIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing Identity Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Delete",
+ "description": "Deletes the specified identity provider configuration.",
+ "x-ms-examples": {
+ "ApiManagementDeleteIdentityProvider": {
+ "$ref": "./examples/ApiManagementDeleteIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The identity provider configuration was successfully deleted."
+ },
+ "204": {
+ "description": "The identity provider configuration was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}/listSecrets": {
+ "post": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_ListSecrets",
+ "description": "Gets the client secret details of the Identity Provider.",
+ "x-ms-examples": {
+ "ApiManagementIdentityProviderListSecrets": {
+ "$ref": "./examples/ApiManagementIdentityProviderListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the client secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json
new file mode 100644
index 000000000000..fd1c939cc300
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json
@@ -0,0 +1,150 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use this REST API to get all the issues across an Azure Api Management service.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_ListByService",
+ "description": "Lists a collection of issues in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListIssues": {
+ "$ref": "./examples/ApiManagementListIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || authorName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Issue entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_Get",
+ "description": "Gets API Management issue details",
+ "x-ms-examples": {
+ "ApiManagementGetIssue": {
+ "$ref": "./examples/ApiManagementGetIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the issue.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json
new file mode 100644
index 000000000000..a12f9b4e8a01
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json
@@ -0,0 +1,382 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers": {
+ "get": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_ListByService",
+ "description": "Lists a collection of loggers in the specified service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs"
+ },
+ "x-ms-examples": {
+ "ApiManagementListLoggers": {
+ "$ref": "./examples/ApiManagementListLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || loggerType | filter | eq | || resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Logger entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/LoggerContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}": {
+ "head": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadLogger": {
+ "$ref": "./examples/ApiManagementHeadLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified logger entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Get",
+ "description": "Gets the details of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetLogger": {
+ "$ref": "./examples/ApiManagementGetLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Logger entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_CreateOrUpdate",
+ "description": "Creates or Updates a logger.",
+ "x-ms-examples": {
+ "ApiManagementCreateEHLogger": {
+ "$ref": "./examples/ApiManagementCreateEHLogger.json"
+ },
+ "ApiManagementCreateAILogger": {
+ "$ref": "./examples/ApiManagementCreateAILogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Logger was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "The existing logger was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Update",
+ "description": "Updates an existing logger.",
+ "x-ms-examples": {
+ "ApiManagementUpdateLogger": {
+ "$ref": "./examples/ApiManagementUpdateLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing logger was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Delete",
+ "description": "Deletes the specified logger.",
+ "x-ms-examples": {
+ "ApiManagementDeleteLogger": {
+ "$ref": "./examples/ApiManagementDeleteLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The logger was successfully deleted."
+ },
+ "204": {
+ "description": "The logger was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json
new file mode 100644
index 000000000000..f2963834eab4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json
@@ -0,0 +1,450 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on NamedValue entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and NamedValues. Each API Management service instance has a NamedValues collection of key/value pairs that are global to the service instance. These NamedValues can be used to manage constant string values across all API configuration and policies.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues": {
+ "get": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_ListByService",
+ "description": "Lists a collection of named values defined within a service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-properties"
+ },
+ "x-ms-examples": {
+ "ApiManagementListNamedValues": {
+ "$ref": "./examples/ApiManagementListNamedValues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| tags | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the named value entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/NamedValueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}": {
+ "head": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadNamedValue": {
+ "$ref": "./examples/ApiManagementHeadNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified named value entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Get",
+ "description": "Gets the details of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNamedValue": {
+ "$ref": "./examples/ApiManagementGetNamedValue.json"
+ },
+ "ApiManagementGetNamedValueWithKeyVault": {
+ "$ref": "./examples/ApiManagementGetNamedValueWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified named value entity. No secrets included",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_CreateOrUpdate",
+ "description": "Creates or updates named value.",
+ "x-ms-examples": {
+ "ApiManagementCreateNamedValue": {
+ "$ref": "./examples/ApiManagementCreateNamedValue.json"
+ },
+ "ApiManagementCreateNamedValueWithKeyVault": {
+ "$ref": "./examples/ApiManagementCreateNamedValueWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueCreateContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update named value was accepted."
+ },
+ "201": {
+ "description": "Named value was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Named value was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Update",
+ "description": "Updates the specific named value.",
+ "x-ms-examples": {
+ "ApiManagementUpdateNamedValue": {
+ "$ref": "./examples/ApiManagementUpdateNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update named value was accepted."
+ },
+ "200": {
+ "description": "Named value was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "delete": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Delete",
+ "description": "Deletes specific named value from the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNamedValue": {
+ "$ref": "./examples/ApiManagementDeleteNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Named value was successfully deleted."
+ },
+ "204": {
+ "description": "Named value was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}/listValue": {
+ "post": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_ListValue",
+ "description": "Gets the secret of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementNamedValueListValue": {
+ "$ref": "./examples/ApiManagementNamedValueListValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified named value secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json
new file mode 100644
index 000000000000..564fe2ae3006
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json
@@ -0,0 +1,222 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for getting the network connectivity status of your Azure API Management deployment. When the API Management service is deployed inside a Virtual Network, it needs to have access to other Azure resources it depends on. This also gives details about the DNS Servers visible to Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus": {
+ "get": {
+ "tags": [
+ "NetworkStatus"
+ ],
+ "operationId": "NetworkStatus_ListByService",
+ "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetNetworkStatus": {
+ "$ref": "./examples/ApiManagementServiceGetNetworkStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the list Network status details for all regions in which service is deployed.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkStatusContractByLocation"
+ },
+ "description": "List of Network Status values."
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus": {
+ "get": {
+ "tags": [
+ "NetworkStatus"
+ ],
+ "operationId": "NetworkStatus_ListByLocation",
+ "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetNetworkStatusByLocation": {
+ "$ref": "./examples/ApiManagementServiceGetNetworkStatusByLocation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the Network status details.",
+ "schema": {
+ "$ref": "#/definitions/NetworkStatusContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectivityStatusContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service depends upon.",
+ "minLength": 1
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "initializing",
+ "success",
+ "failure"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectivityStatusType",
+ "modelAsString": true
+ },
+ "description": "Resource Connectivity Status Type identifier."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details of the connectivity to the resource."
+ },
+ "lastUpdated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "lastStatusChange": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Type."
+ },
+ "isOptional": {
+ "type": "boolean",
+ "description": "Whether this is optional."
+ }
+ },
+ "required": [
+ "name",
+ "status",
+ "lastUpdated",
+ "lastStatusChange",
+ "resourceType",
+ "isOptional"
+ ],
+ "description": "Details about connectivity to a resource."
+ },
+ "NetworkStatusContractByLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of service",
+ "minLength": 1
+ },
+ "networkStatus": {
+ "$ref": "#/definitions/NetworkStatusContract",
+ "description": "Network status in Location"
+ }
+ },
+ "description": "Network Status in the Location"
+ },
+ "NetworkStatusContract": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Gets the list of DNS servers IPV4 addresses."
+ },
+ "connectivityStatus": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectivityStatusContract"
+ },
+ "description": "Gets the list of Connectivity Status to the Resources on which the service depends upon."
+ }
+ },
+ "required": [
+ "dnsServers",
+ "connectivityStatus"
+ ],
+ "description": "Network Status details."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json
new file mode 100644
index 000000000000..fc5b13c4987a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json
@@ -0,0 +1,564 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on who is going to receive notifications associated with your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_ListByService",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListNotifications": {
+ "$ref": "./examples/ApiManagementListNotifications.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Notification for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_Get",
+ "description": "Gets the details of the Notification specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNotification": {
+ "$ref": "./examples/ApiManagementGetNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_CreateOrUpdate",
+ "description": "Create or Update API Management publisher notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotification": {
+ "$ref": "./examples/ApiManagementCreateNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Notification was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": {
+ "get": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_ListByNotification",
+ "description": "Gets the list of the Notification Recipient User subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientUsers": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient User collection for the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CheckEntityExists",
+ "description": "Determine if the Notification Recipient User is subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The User is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CreateOrUpdate",
+ "description": "Adds the API Management User to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient User was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "200": {
+ "description": "Recipient User is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_Delete",
+ "description": "Removes the API Management user from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "204": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails": {
+ "get": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_ListByNotification",
+ "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientEmails": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient Email collection subscribed to the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CheckEntityExists",
+ "description": "Determine if Notification Recipient Email subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Users is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "The Users is not subscribed to receive the notification."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CreateOrUpdate",
+ "description": "Adds the Email address to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient Email was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "200": {
+ "description": "Recipient Email is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_Delete",
+ "description": "Removes the email from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "204": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json
new file mode 100644
index 000000000000..aabb08d6082c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json
@@ -0,0 +1,427 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on OpenId Connect Provider entity associated with your Azure API Management deployment. API Management allows you to access APIs secured with token from [OpenID Connect Provider ](http://openid.net/connect/) to be accessed from the Developer Console.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders": {
+ "get": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_ListByService",
+ "description": "Lists of all the OpenId Connect Providers.",
+ "x-ms-examples": {
+ "ApiManagementListOpenIdConnectProviders": {
+ "$ref": "./examples/ApiManagementListOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of all the OpenId Connect Providers.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenIdConnectProviderCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": {
+ "head": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementHeadOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified openidConnectProvider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Get",
+ "description": "Gets specific OpenID Connect Provider without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementGetOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified OpenId Connect Provider entity without secrets.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_CreateOrUpdate",
+ "description": "Creates or updates the OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementCreateOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementCreateOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OpenIdConnect Provider was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "200": {
+ "description": "OpenIdConnect Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Update",
+ "description": "Updates the specific OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementUpdateOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementUpdateOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OpenIdConnect Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Delete",
+ "description": "Deletes specific OpenID Connect Provider of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementDeleteOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OpenId Connect Provider was successfully deleted."
+ },
+ "204": {
+ "description": "OpenId Connect Provider was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}/listSecrets": {
+ "post": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_ListSecrets",
+ "description": "Gets the client secret details of the OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementOpenidConnectProviderListSecrets": {
+ "$ref": "./examples/ApiManagementOpenidConnectProviderListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified OpenId Connect Provider secrets.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json
new file mode 100644
index 000000000000..003e1d0c1dfc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json
@@ -0,0 +1,304 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Global Policies in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_ListByService",
+ "description": "Lists all the Global Policy definitions of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementListPolicies": {
+ "$ref": "./examples/ApiManagementListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementHeadPolicy": {
+ "$ref": "./examples/ApiManagementHeadPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Get",
+ "description": "Get the Global policy definition of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementGetPolicy": {
+ "$ref": "./examples/ApiManagementGetPolicy.json"
+ },
+ "ApiManagementGetPolicyFormat": {
+ "$ref": "./examples/ApiManagementGetPolicyFormat.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the Global policy definition of the Api Management service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_CreateOrUpdate",
+ "description": "Creates or updates the global policy configuration of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementCreatePolicy": {
+ "$ref": "./examples/ApiManagementCreatePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Global policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Global policy configuration of the Api Management service was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Delete",
+ "description": "Deletes the global policy configuration of the Api Management Service.",
+ "x-ms-examples": {
+ "ApiManagementDeletePolicy": {
+ "$ref": "./examples/ApiManagementDeletePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy was successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json
new file mode 100644
index 000000000000..f785606df60c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json
@@ -0,0 +1,100 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieving a collection of policy snippets available in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyDescriptions": {
+ "get": {
+ "tags": [
+ "PolicyDescription"
+ ],
+ "operationId": "PolicyDescription_ListByService",
+ "description": "Lists all policy descriptions.",
+ "x-ms-examples": {
+ "ApiManagementListPolicyDescriptions": {
+ "$ref": "./examples/ApiManagementListPolicyDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy scope.",
+ "enum": [
+ "Tenant",
+ "Product",
+ "Api",
+ "Operation",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyScopeContract",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of policy descriptions.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json
new file mode 100644
index 000000000000..39535195bb23
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json
@@ -0,0 +1,657 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on PortalSettings entity associated with your Azure API Management deployment. Using this entity you can manage settings for a Developer Portal.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin": {
+ "head": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignInSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignInSettings": {
+ "$ref": "./examples/ApiManagementHeadSignInSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Get",
+ "description": "Get Sign In Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Update",
+ "description": "Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Update Sign-In settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-In settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup": {
+ "head": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignUpSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignUpSettings": {
+ "$ref": "./examples/ApiManagementHeadSignUpSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Get",
+ "description": "Get Sign Up Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Update",
+ "description": "Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Update Sign-Up settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-Up settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation": {
+ "head": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadDelegationSettings": {
+ "$ref": "./examples/ApiManagementHeadDelegationSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Get",
+ "description": "Get Delegation Settings for the Portal.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Update",
+ "description": "Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Update Delegation settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delegation settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_CreateOrUpdate",
+ "description": "Create or Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation/listSecrets": {
+ "post": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_ListSecrets",
+ "description": "Gets the secret validation key of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsPortalSettings": {
+ "$ref": "./examples/ApiManagementListSecretsPortalSettingsValidationKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the validation key.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSettingValidationKeyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json
new file mode 100644
index 000000000000..52d37b190db9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json
@@ -0,0 +1,1408 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Product entity associated with your Azure API Management deployment. The Product entity represents a product in API Management. Products include one or more APIs and their associated terms of use. Once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products": {
+ "get": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_ListByService",
+ "description": "Lists a collection of products in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListProducts": {
+ "$ref": "./examples/ApiManagementListProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || groups | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false."
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Products which are part of a specific tag."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Product entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ProductContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": {
+ "head": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProduct": {
+ "$ref": "./examples/ApiManagementHeadProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Product entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Get",
+ "description": "Gets the details of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetProduct": {
+ "$ref": "./examples/ApiManagementGetProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Product entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_CreateOrUpdate",
+ "description": "Creates or Updates a product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProduct": {
+ "$ref": "./examples/ApiManagementCreateProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Product was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Update",
+ "description": "Update existing product details.",
+ "x-ms-examples": {
+ "ApiManagementUpdateProduct": {
+ "$ref": "./examples/ApiManagementUpdateProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Delete",
+ "description": "Delete product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProduct": {
+ "$ref": "./examples/ApiManagementDeleteProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete existing subscriptions associated with the product or not."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product was successfully removed."
+ },
+ "204": {
+ "description": "Product was successfully removed by previous request or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": {
+ "get": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_ListByProduct",
+ "description": "Lists a collection of the APIs associated with a product.",
+ "x-ms-examples": {
+ "ApiManagementListProductApis": {
+ "$ref": "./examples/ApiManagementListProductApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CheckEntityExists",
+ "description": "Checks that API entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductApi": {
+ "$ref": "./examples/ApiManagementHeadProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CreateOrUpdate",
+ "description": "Adds an API to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductApi": {
+ "$ref": "./examples/ApiManagementCreateProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_Delete",
+ "description": "Deletes the specified API from the specified product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductApi": {
+ "$ref": "./examples/ApiManagementDeleteProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully removed from product"
+ },
+ "204": {
+ "description": "API successfully removed by previous request or does not exist in product"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": {
+ "get": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_ListByProduct",
+ "description": "Lists the collection of developer groups associated with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductGroups": {
+ "$ref": "./examples/ApiManagementListProductGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | || displayName | filter | eq, ne | || description | filter | eq, ne | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": {
+ "head": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CheckEntityExists",
+ "description": "Checks that Group entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductGroup": {
+ "$ref": "./examples/ApiManagementHeadProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Group is associated with the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CreateOrUpdate",
+ "description": "Adds the association between the specified developer group with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductGroup": {
+ "$ref": "./examples/ApiManagementCreateProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The group was successfully associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "200": {
+ "description": "The specified group is already associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_Delete",
+ "description": "Deletes the association between the specified group and product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductGroup": {
+ "$ref": "./examples/ApiManagementDeleteProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "204": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": {
+ "get": {
+ "tags": [
+ "ProductSubscription"
+ ],
+ "operationId": "ProductSubscriptions_List",
+ "description": "Lists the collection of subscriptions to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductSubscriptions": {
+ "$ref": "./examples/ApiManagementListProductSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || user | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies": {
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_ListByProduct",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementListProductPolicies": {
+ "$ref": "./examples/ApiManagementListProductPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_GetEntityTag",
+ "description": "Get the ETag of the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductPolicy": {
+ "$ref": "./examples/ApiManagementHeadProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy Etag information.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Get",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementGetProductPolicy": {
+ "$ref": "./examples/ApiManagementGetProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductPolicy": {
+ "$ref": "./examples/ApiManagementCreateProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Product policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Delete",
+ "description": "Deletes the policy configuration at the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductPolicy": {
+ "$ref": "./examples/ApiManagementDeleteProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "204": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_ListByProduct",
+ "description": "Lists all Tags associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementListProductTags": {
+ "$ref": "./examples/ApiManagementListProductTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Product entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetEntityStateByProduct",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductTag": {
+ "$ref": "./examples/ApiManagementHeadProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetByProduct",
+ "description": "Get tag associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementGetProductTag": {
+ "$ref": "./examples/ApiManagementGetProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_AssignToProduct",
+ "description": "Assign tag to the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductTag": {
+ "$ref": "./examples/ApiManagementCreateProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_DetachFromProduct",
+ "description": "Detach the tag from the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductTag": {
+ "$ref": "./examples/ApiManagementDeleteProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "204": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json
new file mode 100644
index 000000000000..1a78d2509c88
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations to retrieve Products by Tags in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/productsByTags": {
+ "get": {
+ "tags": [
+ "ProductsByTag"
+ ],
+ "operationId": "Product_ListByTags",
+ "description": "Lists a collection of products associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListProductsByTags": {
+ "$ref": "./examples/ApiManagementListProductsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedProducts",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Products."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json
new file mode 100644
index 000000000000..8844236eb58f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json
@@ -0,0 +1,248 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Quota entity associated with your Azure API Management deployment. To configure call rate limit and quota policies refer to [how to configure call rate limit and quota](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies).",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}": {
+ "get": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_ListByService",
+ "description": "Lists a collection of current quota counter periods associated with the counter-key configured in the policy on the specified service instance. The api does not support paging yet.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "x-ms-examples": {
+ "ApiManagementGetQuotaCounterKeys": {
+ "$ref": "./examples/ApiManagementGetQuotaCounterKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of the quota counter values.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_Update",
+ "description": "Updates all the quota counter values specified with the existing quota counter key to a value in the specified service instance. This should be used for reset of the quota counter values.",
+ "x-ms-examples": {
+ "ApiManagementUpdateQuotaCounterKey": {
+ "$ref": "./examples/ApiManagementUpdateQuotaCounterKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
+ },
+ "description": "The value of the quota counter to be applied to all quota counter periods."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated Quota Counter Values.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}": {
+ "get": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Get",
+ "description": "Gets the value of the quota counter associated with the counter-key in the policy for the specific period in service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "x-ms-examples": {
+ "ApiManagementGetQuotaCounterKeysByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Quota counter details for the specified period.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Update",
+ "description": "Updates an existing quota counter value in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementUpdateQuotaCounterKeyByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
+ },
+ "description": "The value of the Quota counter to be applied on the specified period."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Quota counter details for the specified period.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json
new file mode 100644
index 000000000000..bb56f128de08
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json
@@ -0,0 +1,85 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions": {
+ "get": {
+ "tags": [
+ "Region"
+ ],
+ "operationId": "Region_ListByService",
+ "description": "Lists all azure regions in which the service exists.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementListRegions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of Regions in which the service is deployed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/RegionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json
new file mode 100644
index 000000000000..b354bcfddf3c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json
@@ -0,0 +1,514 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByApi",
+ "description": "Lists report records by API.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByApi": {
+ "$ref": "./examples/ApiManagementGetReportsByApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByUser",
+ "description": "Lists report records by User.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByUser": {
+ "$ref": "./examples/ApiManagementGetReportsByUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | userId | select, filter | eq | | | apiRegion | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByOperation",
+ "description": "Lists report records by API Operations.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByOperation": {
+ "$ref": "./examples/ApiManagementGetReportsByOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByProduct",
+ "description": "Lists report records by Product.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByProduct": {
+ "$ref": "./examples/ApiManagementGetReportsByProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | select, filter | eq | | | subscriptionId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByGeo",
+ "description": "Lists report records by geography.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByGeo": {
+ "$ref": "./examples/ApiManagementGetReportsByGeo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | country | select | | | | region | select | | | | zip | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListBySubscription",
+ "description": "Lists report records by subscription.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsBySubscription": {
+ "$ref": "./examples/ApiManagementGetReportsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | select, filter | eq | | | productId | select, filter | eq | | | subscriptionId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByTime",
+ "description": "Lists report records by Time.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByTime": {
+ "$ref": "./examples/ApiManagementGetReportsByTime.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter, select | ge, le | | | interval | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "name": "interval",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "format": "duration",
+ "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. 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))."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByRequest",
+ "description": "Lists report records by Request.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByRequest": {
+ "$ref": "./examples/ApiManagementGetReportsByRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | apiId | filter | eq | | | operationId | filter | eq | | | productId | filter | eq | | | userId | filter | eq | | | apiRegion | filter | eq | | | subscriptionId | filter | eq | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RequestReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-odata": "./definitions.json#/definitions/RequestReportRecordContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json
new file mode 100644
index 000000000000..977d3c9f4b3a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json
@@ -0,0 +1,523 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Subscription entity associated with your Azure API Management deployment. The Subscription entity represents the association between a user and a product in API Management. Products contain one or more APIs, and once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_List",
+ "description": "Lists all subscriptions of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListSubscriptions": {
+ "$ref": "./examples/ApiManagementListSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || user | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of the Subscription entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": {
+ "head": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadSubscription": {
+ "$ref": "./examples/ApiManagementHeadSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified apimanagement subscription entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Get",
+ "description": "Gets the specified Subscription entity.",
+ "x-ms-examples": {
+ "ApiManagementGetSubscription": {
+ "$ref": "./examples/ApiManagementGetSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Subscription entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_CreateOrUpdate",
+ "description": "Creates or updates the subscription of specified user to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateSubscription": {
+ "$ref": "./examples/ApiManagementCreateSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "200": {
+ "description": "The user already subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Update",
+ "description": "Updates the details of a subscription specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateSubscription": {
+ "$ref": "./examples/ApiManagementUpdateSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The subscription details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Delete",
+ "description": "Deletes the specified subscription.",
+ "x-ms-examples": {
+ "ApiManagementDeleteSubscription": {
+ "$ref": "./examples/ApiManagementDeleteSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The subscription details were successfully deleted."
+ },
+ "204": {
+ "description": "The subscription details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_RegeneratePrimaryKey",
+ "description": "Regenerates primary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionRegeneratePrimaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegeneratePrimaryKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_RegenerateSecondaryKey",
+ "description": "Regenerates secondary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionRegenerateSecondaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegenerateSecondaryKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/listSecrets": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_ListSecrets",
+ "description": "Gets the specified Subscription keys.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionListSecrets": {
+ "$ref": "./examples/ApiManagementSubscriptionListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains subscription keys.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionKeysContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json
new file mode 100644
index 000000000000..af73144bc8fc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json
@@ -0,0 +1,99 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for querying APIs. Operations and Products by tags in your Azure API Management deployment.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources": {
+ "get": {
+ "tags": [
+ "TagResource"
+ ],
+ "operationId": "TagResource_ListByService",
+ "description": "Lists a collection of resources associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListTagResources": {
+ "$ref": "./examples/ApiManagementListTagResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| aid | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || isCurrent | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json
new file mode 100644
index 000000000000..d40b87031061
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Tag entity in your Azure API Management deployment. Tags can be assigned to APIs, Operations and Products.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags": {
+ "get": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_ListByService",
+ "description": "Lists a collection of tags defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListTags": {
+ "$ref": "./examples/ApiManagementListTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Scope like 'apis', 'products' or 'apis/{apiId}"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Tag entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadTag": {
+ "$ref": "./examples/ApiManagementHeadTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Get",
+ "description": "Gets the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTag": {
+ "$ref": "./examples/ApiManagementGetTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Tag entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_CreateOrUpdate",
+ "description": "Creates a tag.",
+ "x-ms-examples": {
+ "ApiManagementCreateTag": {
+ "$ref": "./examples/ApiManagementCreateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was created successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag already exists.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Update",
+ "description": "Updates the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTag": {
+ "$ref": "./examples/ApiManagementUpdateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The tag details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Delete",
+ "description": "Deletes specific tag of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTag": {
+ "$ref": "./examples/ApiManagementDeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag successfully removed"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json
new file mode 100644
index 000000000000..9450224bdf04
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json
@@ -0,0 +1,749 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on tenant entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}": {
+ "head": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_GetEntityTag",
+ "description": "Tenant access metadata",
+ "x-ms-examples": {
+ "ApiManagementHeadTenantAccess": {
+ "$ref": "./examples/ApiManagementHeadTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Get",
+ "description": "Get tenant access information details without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantAccess": {
+ "$ref": "./examples/ApiManagementGetTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Update",
+ "description": "Update tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTenantAccess": {
+ "$ref": "./examples/ApiManagementUpdateTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationUpdateParameters"
+ },
+ "description": "Parameters supplied to retrieve the Tenant Access Information."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information was updated successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/listSecrets": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_ListSecrets",
+ "description": "Get tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsTenantAccess": {
+ "$ref": "./examples/ApiManagementListSecretsTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git": {
+ "get": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_Get",
+ "description": "Gets the Git access configuration for the tenant. Without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantAccess": {
+ "$ref": "./examples/ApiManagementGetTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Git Access Information for the Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/listSecrets": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_ListSecrets",
+ "description": "Gets the Git access configuration for the tenant.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsTenantAccess": {
+ "$ref": "./examples/ApiManagementListSecretsTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Git Access Information for the Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Deploy",
+ "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To deploy any service configuration changes to the API Management service instance",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationDeploy": {
+ "$ref": "./examples/ApiManagementTenantConfigurationDeploy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Deploy Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of applying changes from Git branch to database.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Save",
+ "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To save the service configuration to the Git repository",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationSave": {
+ "$ref": "./examples/ApiManagementTenantConfigurationSave.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SaveConfigurationParameter"
+ },
+ "description": "Save Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of creating a commit in the repository.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Validate",
+ "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationValidate": {
+ "$ref": "./examples/ApiManagementTenantConfigurationValidate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Validate Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of validating the changes in the specified Git branch.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState": {
+ "get": {
+ "tags": [
+ "TenantConfigurationSyncState"
+ ],
+ "operationId": "TenantConfiguration_GetSyncState",
+ "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessSyncState": {
+ "$ref": "./examples/ApiManagementTenantAccessSyncState.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sync state result.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TenantConfigurationSyncStateContract"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json
new file mode 100644
index 000000000000..e3898d921ce7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json
@@ -0,0 +1,724 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on User entity in Azure API Management deployment. The User entity in API Management represents the developers that call the APIs of the products to which they are subscribed.",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users": {
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_ListByService",
+ "description": "Lists a collection of registered users in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListUsers": {
+ "$ref": "./examples/ApiManagementListUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || registrationDate | filter | ge, le, eq, ne, gt, lt | || note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || groups | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "type": "boolean",
+ "description": "Detailed Group in response."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of User entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}": {
+ "head": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadUser": {
+ "$ref": "./examples/ApiManagementHeadUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified user entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Get",
+ "description": "Gets the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetUser": {
+ "$ref": "./examples/ApiManagementGetUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified user entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_CreateOrUpdate",
+ "description": "Creates or Updates a user.",
+ "x-ms-examples": {
+ "ApiManagementCreateUser": {
+ "$ref": "./examples/ApiManagementCreateUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCreateParameters"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Email notification to the User."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "User was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "User was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Update",
+ "description": "Updates the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateUser": {
+ "$ref": "./examples/ApiManagementUpdateUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Delete",
+ "description": "Deletes specific user.",
+ "x-ms-examples": {
+ "ApiManagementDeleteUser": {
+ "$ref": "./examples/ApiManagementDeleteUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete user's subscription or not."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Account Closed Email notification to the User."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details were successfully deleted."
+ },
+ "204": {
+ "description": "The user details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl": {
+ "post": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GenerateSsoUrl",
+ "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.",
+ "x-ms-examples": {
+ "ApiManagementUserGenerateSsoUrl": {
+ "$ref": "./examples/ApiManagementUserGenerateSsoUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the single sign-on URL.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/GenerateSsoUrlResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups": {
+ "get": {
+ "tags": [
+ "UserGroup"
+ ],
+ "operationId": "UserGroup_List",
+ "description": "Lists all user groups.",
+ "x-ms-examples": {
+ "ApiManagementListUserGroups": {
+ "$ref": "./examples/ApiManagementListUserGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|------------------------|-----------------------------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": {
+ "get": {
+ "tags": [
+ "UserSubscription"
+ ],
+ "operationId": "UserSubscription_List",
+ "description": "Lists the collection of subscriptions of the specified user.",
+ "x-ms-examples": {
+ "ApiManagementListUserSubscriptions": {
+ "$ref": "./examples/ApiManagementListUserSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|------------------------|-----------------------------------||name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities": {
+ "get": {
+ "tags": [
+ "UserIdentity"
+ ],
+ "operationId": "UserIdentities_List",
+ "description": "List of all user identities.",
+ "x-ms-examples": {
+ "ApiManagementListUserIdentities": {
+ "$ref": "./examples/ApiManagementListUserIdentities.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of User Identities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserIdentityCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token": {
+ "post": {
+ "tags": [
+ "UserToken"
+ ],
+ "operationId": "User_GetSharedAccessToken",
+ "description": "Gets the Shared Access Authorization Token for the User.",
+ "x-ms-examples": {
+ "ApiManagementUserToken": {
+ "$ref": "./examples/ApiManagementUserToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserTokenParameters"
+ },
+ "description": "Create Authorization Token parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the user.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/UserTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send": {
+ "post": {
+ "tags": [
+ "UserConfirmationPasswordSend"
+ ],
+ "operationId": "UserConfirmationPassword_Send",
+ "description": "Sends confirmation",
+ "x-ms-examples": {
+ "ApiManagementUserConfirmationPasswordSend": {
+ "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Notification successfully sent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json
new file mode 100644
index 000000000000..5e8dd300c1d9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json
@@ -0,0 +1,5907 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-01-preview",
+ "description": "A spec file containing all the definitions",
+ "title": "Definitions file"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "AccessInformationContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "AccessInformationUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessInformationUpdateParameterProperties",
+ "description": "Tenant access information update parameter properties."
+ }
+ },
+ "description": "Tenant access information update parameters."
+ },
+ "AccessInformationUpdateParameterProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information update parameters of the API Management service"
+ },
+ "ApiCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Api list representation."
+ },
+ "ApiContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractProperties",
+ "description": "Api entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api details."
+ },
+ "ApiContractProperties": {
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "API identifier of the source API."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "API name. Must be 1 to 300 characters long.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.",
+ "minLength": 0,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "required": [
+ "path"
+ ],
+ "description": "Api Entity Properties"
+ },
+ "ApiCreateOrUpdateParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiCreateOrUpdateProperties",
+ "description": "Api entity create of update properties."
+ }
+ },
+ "description": "API Create or Update Parameters."
+ },
+ "ApiCreateOrUpdateProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Content value when Importing an API."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the Content in which the API is getting imported.",
+ "enum": [
+ "wadl-xml",
+ "wadl-link-json",
+ "swagger-json",
+ "swagger-link-json",
+ "wsdl",
+ "wsdl-link",
+ "openapi",
+ "openapi+json",
+ "openapi-link",
+ "openapi+json-link"
+ ],
+ "x-ms-enum": {
+ "name": "ContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "wadl-xml",
+ "description": "The contents are inline and Content type is a WADL document."
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "The WADL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "swagger-json",
+ "description": "The contents are inline and Content Type is a OpenApi 2.0 Document."
+ },
+ {
+ "value": "swagger-link-json",
+ "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "wsdl",
+ "description": "The contents are inline and the document is a WSDL/Soap document."
+ },
+ {
+ "value": "wsdl-link",
+ "description": "The WSDL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in YAML format."
+ },
+ {
+ "value": "openapi+json",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in JSON format."
+ },
+ {
+ "value": "openapi-link",
+ "description": "The Open Api 3.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "The Open Api 3.0 Json document is hosted on a publicly accessible internet address."
+ }
+ ]
+ }
+ },
+ "wsdlSelector": {
+ "type": "object",
+ "description": "Criteria to limit import of WSDL to a subset of the document.",
+ "properties": {
+ "wsdlServiceName": {
+ "type": "string",
+ "description": "Name of service to import from WSDL"
+ },
+ "wsdlEndpointName": {
+ "type": "string",
+ "description": "Name of endpoint(port) to import from WSDL"
+ }
+ }
+ },
+ "apiType": {
+ "type": "string",
+ "description": "Type of Api to create. \n * `http` creates a SOAP to REST API \n * `soap` creates a SOAP pass-through API .",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-client-name": "SoapApiType",
+ "x-ms-enum": {
+ "name": "SoapApiType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "Imports a SOAP API having a RESTful front end.",
+ "name": "SoapToRest"
+ },
+ {
+ "value": "soap",
+ "description": "Imports the Soap API having a SOAP front end.",
+ "name": "SoapPassThrough"
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiContractProperties"
+ }
+ ],
+ "description": "Api Create or Update Properties."
+ },
+ "ApiEntityBaseContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the API. May include HTML formatting tags."
+ },
+ "authenticationSettings": {
+ "$ref": "#/definitions/AuthenticationSettingsContract",
+ "description": "Collection of authentication settings included into this API."
+ },
+ "subscriptionKeyParameterNames": {
+ "$ref": "#/definitions/SubscriptionKeyParameterNamesContract",
+ "description": "Protocols over which API is made available."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of API.",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-client-name": "ApiType",
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Indicates the Version identifier of the API if the API is versioned",
+ "maxLength": 100
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "description": "Indicates if API revision is current api revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "description": "Indicates if API revision is accessible via the gateway.",
+ "readOnly": true
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "description": "Description of the Api Revision.",
+ "maxLength": 256
+ },
+ "apiVersionDescription": {
+ "type": "string",
+ "description": "Description of the Api Version.",
+ "maxLength": 256
+ },
+ "apiVersionSetId": {
+ "type": "string",
+ "description": "A resource identifier for the related ApiVersionSet."
+ },
+ "subscriptionRequired": {
+ "type": "boolean",
+ "description": "Specifies whether an API or Product subscription is required for accessing the API."
+ }
+ },
+ "description": "API base contract details."
+ },
+ "ApiExportResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ResourceId of the API which was exported."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "swagger-link-json",
+ "wadl-link-json",
+ "wsdl-link+xml",
+ "openapi-link"
+ ],
+ "x-ms-client-name": "ExportResultFormat",
+ "x-ms-enum": {
+ "name": "ExportResultFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link-json",
+ "description": "The Api Definition is exported in OpenApi Specification 2.0 format to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link+xml",
+ "description": "The Api Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "name": "OpenApi"
+ }
+ ]
+ },
+ "description": "Format in which the Api Details are exported to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ "value": {
+ "type": "object",
+ "description": "The object defining the schema of the exported Api Detail",
+ "properties": {
+ "link": {
+ "type": "string",
+ "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes."
+ }
+ }
+ }
+ },
+ "description": "API Export result."
+ },
+ "ApiReleaseCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged ApiRelease list representation."
+ },
+ "ApiReleaseContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiReleaseContractProperties",
+ "description": "ApiRelease entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "ApiRelease details."
+ },
+ "ApiReleaseContractProperties": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "Identifier of the API the release belongs to."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API release was updated."
+ },
+ "notes": {
+ "type": "string",
+ "description": "Release Notes"
+ }
+ },
+ "description": "API Release details"
+ },
+ "ApiRevisionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiRevisionContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Api Revision list representation."
+ },
+ "ApiRevisionContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the API Revision."
+ },
+ "apiRevision": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100,
+ "readOnly": true,
+ "description": "Revision number of API."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "maxLength": 256,
+ "description": "Description of the API Revision."
+ },
+ "privateUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway URL for accessing the non-current API Revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is the current api revision."
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is accessible via the gateway."
+ }
+ },
+ "description": "Summary of revision metadata."
+ },
+ "ApiRevisionInfoContract": {
+ "description": "Object used to create an API Revision or Version based on an existing API Revision",
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "Resource identifier of API to be used to create the revision from."
+ },
+ "apiVersionName": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Version identifier for the new API Version."
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Description of new API Revision."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ }
+ },
+ "ApiTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "API identifier in the form /apis/{apiId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API contract properties for the Tag Resources."
+ },
+ "ApiUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractUpdateProperties",
+ "description": "Properties of the API entity that can be updated."
+ }
+ },
+ "description": "API update contract details."
+ },
+ "ApiContractUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API update contract properties."
+ },
+ "ApiVersionSetCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api Version Set list representation."
+ },
+ "ApiVersionSetContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetContractProperties",
+ "description": "Api VersionSet contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Version Set Contract details."
+ },
+ "ApiVersionSetContractDetails": {
+ "description": "An API Version Set contains the common configuration for a set of API Versions relating ",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier for existing API Version Set. Omit this value to create a new Version Set."
+ },
+ "name": {
+ "type": "string",
+ "description": "The display Name of the API Version Set."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ]
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`."
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`."
+ }
+ }
+ },
+ "ApiVersionSetContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "required": [
+ "displayName",
+ "versioningScheme"
+ ],
+ "description": "Properties of an API Version Set."
+ },
+ "ApiVersionSetEntityBase": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "description": "Api Version set base parameters"
+ },
+ "ApiVersionSetUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetUpdateParametersProperties",
+ "description": "Parameters to update or create an Api Version Set Contract."
+ }
+ },
+ "description": "Parameters to update or create an Api Version Set Contract."
+ },
+ "ApiVersionSetUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "description": "Properties used to create or update an API Version Set."
+ },
+ "AuthenticationSettingsContract": {
+ "properties": {
+ "oAuth2": {
+ "$ref": "#/definitions/OAuth2AuthenticationSettingsContract",
+ "description": "OAuth2 Authentication settings"
+ },
+ "openid": {
+ "$ref": "#/definitions/OpenIdAuthenticationSettingsContract",
+ "description": "OpenID Connect Authentication Settings"
+ }
+ },
+ "description": "API Authentication Settings."
+ },
+ "AuthorizationServerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OAuth2 Authorization Servers list representation."
+ },
+ "AuthorizationServerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerContractProperties",
+ "description": "Properties of the External OAuth authorization server Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerContractBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the authorization server. Can contain HTML formatting tags."
+ },
+ "authorizationMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HEAD",
+ "OPTIONS",
+ "TRACE",
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationMethod",
+ "modelAsString": false
+ }
+ },
+ "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."
+ },
+ "clientAuthenticationMethod": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Body"
+ ],
+ "x-ms-enum": {
+ "name": "ClientAuthenticationMethod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Basic Client Authentication method."
+ },
+ {
+ "value": "Body",
+ "description": "Body based Authentication method."
+ }
+ ]
+ }
+ },
+ "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."
+ },
+ "tokenBodyParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenBodyParameterContract"
+ },
+ "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."
+ },
+ "tokenEndpoint": {
+ "type": "string",
+ "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "supportState": {
+ "type": "boolean",
+ "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "defaultScope": {
+ "type": "string",
+ "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.3"
+ }
+ },
+ "bearerTokenSendingMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "name": "BearerTokenSendingMethod",
+ "modelAsString": true
+ }
+ },
+ "description": "Specifies the mechanism by which access token is passed to the API. ",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "required": [
+ "displayName",
+ "clientRegistrationEndpoint",
+ "authorizationEndpoint",
+ "clientId",
+ "grantTypes"
+ ],
+ "description": "External OAuth authorization server settings Properties."
+ },
+ "AuthorizationServerUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerUpdateContractProperties",
+ "description": "Properties of the External OAuth authorization server update Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerSecretsContract": {
+ "properties": {
+ "clientSecret": {
+ "type": "string",
+ "description": "oAuth Authorization Server Secrets."
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "OAuth Server Secrets Contract."
+ },
+ "BackendAuthorizationHeaderCredentials": {
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "description": "Authentication Scheme name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "parameter": {
+ "type": "string",
+ "description": "Authentication Parameter value.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "required": [
+ "scheme",
+ "parameter"
+ ],
+ "description": "Authorization header information."
+ },
+ "BackendBaseParameters": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Backend Title.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "description": {
+ "type": "string",
+ "description": "Backend Description.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "properties": {
+ "$ref": "#/definitions/BackendProperties",
+ "description": "Backend Properties contract"
+ },
+ "credentials": {
+ "$ref": "#/definitions/BackendCredentialsContract",
+ "description": "Backend Credentials Contract Properties"
+ },
+ "proxy": {
+ "$ref": "#/definitions/BackendProxyContract",
+ "description": "Backend Proxy Contract Properties"
+ },
+ "tls": {
+ "$ref": "#/definitions/BackendTlsProperties",
+ "description": "Backend TLS Properties"
+ }
+ },
+ "description": "Backend entity base Parameter set."
+ },
+ "BackendCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "description": "Backend values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Backend list representation."
+ },
+ "BackendContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendContractProperties",
+ "description": "Backend entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Backend details."
+ },
+ "BackendContractProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "required": [
+ "url",
+ "protocol"
+ ],
+ "description": "Parameters supplied to the Create Backend operation."
+ },
+ "BackendCredentialsContract": {
+ "properties": {
+ "certificate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Client Certificate Thumbprint."
+ },
+ "query": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Query Parameter description."
+ },
+ "header": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Header Parameter description."
+ },
+ "authorization": {
+ "description": "Authorization header authentication",
+ "$ref": "#/definitions/BackendAuthorizationHeaderCredentials"
+ }
+ },
+ "description": "Details of the Credentials used to connect to Backend."
+ },
+ "BackendProperties": {
+ "properties": {
+ "serviceFabricCluster": {
+ "$ref": "#/definitions/BackendServiceFabricClusterProperties",
+ "description": "Backend Service Fabric Cluster Properties"
+ }
+ },
+ "description": "Properties specific to the Backend Type."
+ },
+ "BackendProxyContract": {
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx",
+ "description": "Backend entity uses these details to connect to a WebProxy."
+ },
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to connect to the WebProxy server"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to connect to the WebProxy Server"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "description": "Details of the Backend WebProxy Server to use in the Request to Backend."
+ },
+ "BackendReconnectContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendReconnectProperties",
+ "description": "Reconnect request properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Reconnect request parameters."
+ },
+ "BackendReconnectProperties": {
+ "properties": {
+ "after": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M."
+ }
+ },
+ "description": "Properties to control reconnect requests."
+ },
+ "BackendServiceFabricClusterProperties": {
+ "properties": {
+ "clientCertificatethumbprint": {
+ "description": "The client certificate thumbprint for the management endpoint.",
+ "type": "string"
+ },
+ "maxPartitionResolutionRetries": {
+ "description": "Maximum number of retries while attempting resolve the partition.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "managementEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The cluster management endpoint."
+ },
+ "serverCertificateThumbprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Thumbprints of certificates cluster management service uses for tls communication"
+ },
+ "serverX509Names": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X509CertificateName"
+ },
+ "description": "Server X509 Certificate Names Collection"
+ }
+ },
+ "required": [
+ "managementEndpoints",
+ "clientCertificatethumbprint"
+ ],
+ "description": "Properties of the Service Fabric Type Backend."
+ },
+ "BackendTlsProperties": {
+ "properties": {
+ "validateCertificateChain": {
+ "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ },
+ "validateCertificateName": {
+ "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "description": "Properties controlling TLS Certificate Validation."
+ },
+ "BackendUpdateParameterProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Backend operation."
+ },
+ "BackendUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendUpdateParameterProperties",
+ "description": "Backend entity update contract properties."
+ }
+ },
+ "description": "Backend update parameters."
+ },
+ "BearerTokenSendingMethodsContract": {
+ "type": "string",
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "bearerTokenSendingMethods",
+ "values": [
+ {
+ "value": "authorizationHeader",
+ "description": "Access token will be transmitted in the Authorization header using Bearer schema"
+ },
+ {
+ "value": "query",
+ "description": "Access token will be transmitted as query parameters."
+ }
+ ]
+ }
+ },
+ "BodyDiagnosticSettings": {
+ "properties": {
+ "bytes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 8192,
+ "description": "Number of request body bytes to log."
+ }
+ },
+ "description": "Body logging settings."
+ },
+ "CacheCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Caches list representation."
+ },
+ "CacheContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheContractProperties",
+ "description": "Cache properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Cache details."
+ },
+ "CacheContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "useFromLocation": {
+ "type": "string",
+ "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)",
+ "maxLength": 256
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "required": [
+ "connectionString",
+ "useFromLocation"
+ ],
+ "description": "Properties of the Cache contract."
+ },
+ "CacheUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheUpdateProperties",
+ "description": "Cache update properties details."
+ }
+ },
+ "description": "Cache update details."
+ },
+ "CacheUpdateProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "useFromLocation": {
+ "type": "string",
+ "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)",
+ "maxLength": 256
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "description": "Parameters supplied to the Update Cache operation."
+ },
+ "CertificateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Certificates list representation."
+ },
+ "CertificateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateContractProperties",
+ "description": "Certificate properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Certificate details."
+ },
+ "CertificateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject attribute of the certificate."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractProperties",
+ "description": "KeyVault location details of the certificate."
+ }
+ },
+ "required": [
+ "subject",
+ "thumbprint",
+ "expirationDate"
+ ],
+ "description": "Properties of the Certificate contract."
+ },
+ "CertificateCreateOrUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateCreateOrUpdateProperties",
+ "description": "Certificate create or update properties details."
+ }
+ },
+ "description": "Certificate create or update details."
+ },
+ "CertificateCreateOrUpdateProperties": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Base 64 encoded certificate using the application/x-pkcs12 representation."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the Certificate"
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the certificate."
+ }
+ },
+ "description": "Parameters supplied to the CreateOrUpdate certificate operation."
+ },
+ "DataMasking": {
+ "properties": {
+ "queryParams": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataMaskingEntity"
+ },
+ "description": "Masking settings for Url query parameters"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataMaskingEntity"
+ },
+ "description": "Masking settings for headers"
+ }
+ }
+ },
+ "DataMaskingEntity": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of an entity to mask (e.g. a name of a header or a query parameter)."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "Mask",
+ "Hide"
+ ],
+ "x-ms-enum": {
+ "name": "DataMaskingMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Mask",
+ "description": "Mask the value of an entity."
+ },
+ {
+ "value": "Hide",
+ "description": "Hide the presence of an entity."
+ }
+ ]
+ },
+ "description": "Data masking mode."
+ }
+ }
+ },
+ "DeployConfigurationParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeployConfigurationParameterProperties",
+ "description": "Deploy Configuration Parameter contract properties."
+ }
+ },
+ "description": "Deploy Tenant Configuration Contract."
+ },
+ "DeployConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value enforcing deleting subscriptions to products that are deleted in this update."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Deploy Configuration operation."
+ },
+ "DiagnosticCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Diagnostic list representation."
+ },
+ "DiagnosticContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiagnosticContractProperties",
+ "description": "Diagnostic entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Diagnostic details."
+ },
+ "DiagnosticContractProperties": {
+ "properties": {
+ "alwaysLog": {
+ "type": "string",
+ "enum": [
+ "allErrors"
+ ],
+ "x-ms-enum": {
+ "name": "AlwaysLog",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "allErrors",
+ "description": "Always log all erroneous request regardless of sampling settings."
+ }
+ ]
+ },
+ "description": "Specifies for what type of messages sampling settings should not apply."
+ },
+ "loggerId": {
+ "type": "string",
+ "description": "Resource Id of a target logger."
+ },
+ "sampling": {
+ "$ref": "#/definitions/SamplingSettings",
+ "description": "Sampling settings for Diagnostic."
+ },
+ "frontend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "backend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Backend"
+ },
+ "logClientIp": {
+ "type": "boolean",
+ "description": "Log the ClientIP. Default is false."
+ },
+ "httpCorrelationProtocol": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Legacy",
+ "W3C"
+ ],
+ "x-ms-enum": {
+ "name": "HttpCorrelationProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Do not read and inject correlation headers."
+ },
+ {
+ "value": "Legacy",
+ "description": "Inject Request-Id and Request-Context headers with request correlation data. See https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md."
+ },
+ {
+ "value": "W3C",
+ "description": "Inject Trace Context headers. See https://w3c.github.io/trace-context."
+ }
+ ]
+ },
+ "description": "Sets correlation protocol to use for Application Insights diagnostics."
+ },
+ "verbosity": {
+ "type": "string",
+ "enum": [
+ "verbose",
+ "information",
+ "error"
+ ],
+ "x-ms-enum": {
+ "name": "Verbosity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "verbose",
+ "description": "All the traces emitted by trace policies will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "information",
+ "description": "Traces with 'severity' set to 'information' and 'error' will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "error",
+ "description": "Only traces with 'severity' set to 'error' will be sent to the logger attached to this diagnostic instance."
+ }
+ ]
+ },
+ "description": "The verbosity level applied to traces emitted by trace policies."
+ },
+ "operationNameFormat": {
+ "type": "string",
+ "enum": [
+ "Name",
+ "Url"
+ ],
+ "x-ms-enum": {
+ "name": "OperationNameFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Name",
+ "description": "API_NAME;rev=API_REVISION - OPERATION_NAME"
+ },
+ {
+ "value": "Url",
+ "description": "HTTP_VERB URL"
+ }
+ ]
+ },
+ "description": "The format of the Operation Name for Application Insights telemetries. Default is Name."
+ }
+ },
+ "required": [
+ "loggerId"
+ ],
+ "description": "Diagnostic Entity Properties"
+ },
+ "EmailTemplateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged email template list representation."
+ },
+ "EmailTemplateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateContractProperties",
+ "description": "Email Template entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Email Template details."
+ },
+ "EmailTemplateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "isDefault": {
+ "type": "boolean",
+ "description": "Whether the template is the default template provided by Api Management or has been edited.",
+ "readOnly": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "required": [
+ "body",
+ "subject"
+ ],
+ "description": "Email Template Contract properties."
+ },
+ "EmailTemplateParametersContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Template parameter name.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "title": {
+ "type": "string",
+ "description": "Template parameter title.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "description": {
+ "type": "string",
+ "description": "Template parameter description.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ }
+ },
+ "description": "Email Template Parameter contract."
+ },
+ "EmailTemplateUpdateParameterProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "description": "Email Template Update Contract properties."
+ },
+ "EmailTemplateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateUpdateParameterProperties",
+ "description": "Email Template Update contract properties."
+ }
+ },
+ "description": "Email Template update Parameters."
+ },
+ "GenerateSsoUrlResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Redirect Url containing the SSO URL value."
+ }
+ },
+ "description": "Generate SSO Url operations response details."
+ },
+ "GroupCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Group list representation."
+ },
+ "GroupContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupContractProperties",
+ "description": "Group entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "GroupContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description. Can contain HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "builtIn": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Group contract Properties."
+ },
+ "GroupCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupCreateParametersProperties",
+ "description": "Properties supplied to Create Group operation."
+ }
+ },
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupCreateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupUpdateParametersProperties",
+ "description": "Group entity update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "GroupUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "HttpMessageDiagnostic": {
+ "properties": {
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of HTTP Headers to log."
+ },
+ "body": {
+ "$ref": "#/definitions/BodyDiagnosticSettings",
+ "description": "Body logging settings."
+ },
+ "dataMasking": {
+ "$ref": "#/definitions/DataMasking",
+ "description": "Data masking settings."
+ }
+ },
+ "description": "Http message diagnostic settings."
+ },
+ "IdentityProviderBaseParameters": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier."
+ },
+ "signinTenant": {
+ "type": "string",
+ "description": "The TenantId to use instead of Common when logging into Active Directory"
+ },
+ "allowedTenants": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Allowed Tenants when configuring Azure Active Directory login."
+ },
+ "authority": {
+ "type": "string",
+ "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."
+ },
+ "signupPolicyName": {
+ "type": "string",
+ "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "signinPolicyName": {
+ "type": "string",
+ "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "profileEditingPolicyName": {
+ "type": "string",
+ "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "passwordResetPolicyName": {
+ "type": "string",
+ "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ }
+ },
+ "description": "Identity Provider Base Parameter Properties."
+ },
+ "IdentityProviderCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderCreateContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderCreateContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId",
+ "clientSecret"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "description": "Identity Provider configuration values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of all the Identity Providers configured on the service instance."
+ },
+ "IdentityProviderUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderUpdateProperties",
+ "description": "Identity Provider update properties."
+ }
+ },
+ "description": "Parameters supplied to update Identity Provider"
+ },
+ "IdentityProviderUpdateProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Identity Provider operation."
+ },
+ "IssueAttachmentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "description": "Issue Attachment values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Attachment list representation."
+ },
+ "IssueAttachmentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueAttachmentContractProperties",
+ "description": "Properties of the Issue Attachment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Attachment Contract details."
+ },
+ "IssueAttachmentContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Filename by which the binary data will be saved."
+ },
+ "contentFormat": {
+ "type": "string",
+ "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property."
+ },
+ "content": {
+ "type": "string",
+ "description": "An HTTP link or Base64-encoded binary data."
+ }
+ },
+ "required": [
+ "title",
+ "contentFormat",
+ "content"
+ ],
+ "description": "Issue Attachment contract Properties."
+ },
+ "IssueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "description": "Issue values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue list representation."
+ },
+ "IssueCommentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "description": "Issue Comment values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Comment list representation."
+ },
+ "IssueCommentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueCommentContractProperties",
+ "description": "Properties of the Issue Comment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Comment Contract details."
+ },
+ "IssueCommentContractProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Comment text."
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the comment was created."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user who left the comment."
+ }
+ },
+ "required": [
+ "text",
+ "userId"
+ ],
+ "description": "Issue Comment contract Properties."
+ },
+ "IssueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueContractProperties",
+ "description": "Properties of the Issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Contract details."
+ },
+ "IssueContractBaseProperties": {
+ "properties": {
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the issue was created."
+ },
+ "state": {
+ "type": "string",
+ "description": "Status of the issue.",
+ "enum": [
+ "proposed",
+ "open",
+ "removed",
+ "resolved",
+ "closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "proposed",
+ "description": "The issue is proposed."
+ },
+ {
+ "value": "open",
+ "description": "The issue is opened."
+ },
+ {
+ "value": "removed",
+ "description": "The issue was removed."
+ },
+ {
+ "value": "resolved",
+ "description": "The issue is now resolved."
+ },
+ {
+ "value": "closed",
+ "description": "The issue was closed."
+ }
+ ]
+ }
+ },
+ "apiId": {
+ "type": "string",
+ "description": "A resource identifier for the API the issue was created for."
+ }
+ },
+ "description": "Issue contract Base Properties."
+ },
+ "IssueContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "required": [
+ "title",
+ "description",
+ "userId"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Properties."
+ },
+ "IssueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueUpdateContractProperties",
+ "description": "Issue entity Update contract properties."
+ }
+ },
+ "description": "Issue update Parameters."
+ },
+ "IssueUpdateContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Update Properties."
+ },
+ "KeyVaultContractCreateProperties": {
+ "properties": {
+ "secretIdentifier": {
+ "type": "string",
+ "description": "Key vault secret identifier for fetching secret."
+ },
+ "identityClientId": {
+ "type": "string",
+ "description": "SystemAssignedIdentity or UserAssignedIdentity Client Id which will be used to access key vault secret."
+ }
+ },
+ "description": "Create keyVault contract details."
+ },
+ "KeyVaultContractProperties": {
+ "properties": {
+ "lastStatus": {
+ "$ref": "#/definitions/KeyVaultLastAccessStatusContractProperties",
+ "description": "Last time sync and refresh status of secret from key vault."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties"
+ }
+ ],
+ "description": "KeyVault contract details."
+ },
+ "KeyVaultLastAccessStatusContractProperties": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Last status code for sync and refresh of secret from key vault."
+ },
+ "message": {
+ "type": "string",
+ "description": "Details of the error else empty."
+ },
+ "timeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "description": "Issue contract Update Properties."
+ },
+ "LoggerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "description": "Logger values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Logger list representation."
+ },
+ "LoggerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoggerContractProperties",
+ "description": "Logger entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Logger details."
+ },
+ "LoggerContractProperties": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub",
+ "applicationInsights",
+ "azureMonitor"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
+ },
+ {
+ "value": "azureMonitor",
+ "description": "Azure Monitor"
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description.",
+ "maxLength": 256
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
+ "example": {
+ "name": "apim",
+ "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..."
+ }
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource)."
+ }
+ },
+ "required": [
+ "loggerType"
+ ],
+ "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs."
+ },
+ "LoggerUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoggerUpdateParameters",
+ "description": "Logger entity update contract properties."
+ }
+ },
+ "description": "Logger update contract."
+ },
+ "LoggerUpdateParameters": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub",
+ "applicationInsights",
+ "azureMonitor"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
+ },
+ {
+ "value": "azureMonitor",
+ "description": "Azure Monitor"
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description."
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Logger credentials."
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ }
+ },
+ "description": "Parameters supplied to the Update Logger operation."
+ },
+ "NotificationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Notification list representation."
+ },
+ "NotificationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NotificationContractProperties",
+ "description": "Notification entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Notification details."
+ },
+ "NotificationContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Title of the Notification.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Notification."
+ },
+ "recipients": {
+ "$ref": "#/definitions/RecipientsContractProperties",
+ "description": "Recipient Parameter values."
+ }
+ },
+ "required": [
+ "title"
+ ],
+ "description": "Notification Contract properties."
+ },
+ "OAuth2AuthenticationSettingsContract": {
+ "properties": {
+ "authorizationServerId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "operations scope."
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdAuthenticationSettingsContract": {
+ "properties": {
+ "openidProviderId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "bearerTokenSendingMethods": {
+ "description": "How to send token to the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BearerTokenSendingMethodsContract"
+ }
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdConnectProviderCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OpenIdProviders list representation."
+ },
+ "OpenidConnectProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderContractProperties",
+ "description": "OpenId Connect Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "OpenId Connect Provider details."
+ },
+ "OpenidConnectProviderContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "required": [
+ "displayName",
+ "metadataEndpoint",
+ "clientId"
+ ],
+ "description": "OpenID Connect Providers Contract."
+ },
+ "OpenidConnectProviderUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderUpdateContractProperties",
+ "description": "OpenId Connect Provider Update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OpenidConnectProviderUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OperationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Operation list representation."
+ },
+ "OperationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Operation details."
+ },
+ "OperationContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "required": [
+ "displayName",
+ "method",
+ "urlTemplate"
+ ],
+ "description": "Operation Contract Properties"
+ },
+ "OperationEntityBaseContract": {
+ "properties": {
+ "templateParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of URL template parameters."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation. May include HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "request": {
+ "$ref": "#/definitions/RequestContract",
+ "description": "An entity containing request details."
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResponseContract"
+ },
+ "description": "Array of Operation responses."
+ },
+ "policies": {
+ "type": "string",
+ "description": "Operation Policies"
+ }
+ },
+ "description": "Api Operation Entity Base Contract details."
+ },
+ "OperationResultContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Operation result identifier."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of an async operation.",
+ "enum": [
+ "Started",
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AsyncOperationStatus",
+ "modelAsString": false
+ }
+ },
+ "started": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "updated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resultInfo": {
+ "type": "string",
+ "description": "Optional result info."
+ },
+ "error": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponseBody",
+ "description": "Error Body Contract"
+ },
+ "actionLog": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResultLogItemContract"
+ },
+ "readOnly": true,
+ "description": "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."
+ }
+ },
+ "description": "Operation Result."
+ },
+ "OperationResultLogItemContract": {
+ "properties": {
+ "objectType": {
+ "type": "string",
+ "description": "The type of entity contract."
+ },
+ "action": {
+ "type": "string",
+ "description": "Action like create/update/delete."
+ },
+ "objectKey": {
+ "type": "string",
+ "description": "Identifier of the entity being created/updated/deleted."
+ }
+ },
+ "description": "Log of the entity being created, updated or deleted."
+ },
+ "OperationTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the operation in form /operations/{operationId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "Operation name.",
+ "readOnly": true
+ },
+ "apiName": {
+ "type": "string",
+ "description": "Api Name.",
+ "readOnly": true
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Api Revision.",
+ "readOnly": true
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Api Version.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation Description.",
+ "readOnly": true
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ },
+ "readOnly": true
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "readOnly": true
+ }
+ },
+ "description": "Operation Entity contract Properties."
+ },
+ "OperationUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationUpdateContractProperties",
+ "description": "Properties of the API Operation entity that can be updated."
+ }
+ },
+ "description": "Api Operation Update Contract details."
+ },
+ "OperationUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "description": "Operation Update Contract Properties."
+ },
+ "ParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Parameter name."
+ },
+ "description": {
+ "type": "string",
+ "description": "Parameter description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default parameter value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Specifies whether parameter is required or not."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Parameter values."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Operation parameters details."
+ },
+ "PipelineDiagnosticSettings": {
+ "properties": {
+ "request": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for request."
+ },
+ "response": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for response."
+ }
+ },
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "PolicyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "Policy Contract value."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list policy operation."
+ },
+ "PolicyContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyContractProperties",
+ "description": "Properties of the Policy."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy Contract details."
+ },
+ "PolicyContractProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Contents of the Policy as defined by the format."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the policyContent.",
+ "enum": [
+ "xml",
+ "xml-link",
+ "rawxml",
+ "rawxml-link"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "xml-link",
+ "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ },
+ {
+ "value": "rawxml-link",
+ "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service."
+ }
+ ]
+ },
+ "default": "xml"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Policy contract Properties."
+ },
+ "PolicyDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyDescriptionContractProperties",
+ "description": "Policy description contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy description details."
+ },
+ "PolicyDescriptionContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Policy description.",
+ "readOnly": true
+ },
+ "scope": {
+ "type": "integer",
+ "description": "Binary OR value of the Snippet scope.",
+ "readOnly": true
+ }
+ },
+ "description": "Policy description properties."
+ },
+ "PolicyDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyDescriptionContract"
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ }
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "PortalDelegationSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalDelegationSettingsProperties",
+ "description": "Delegation settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Delegation settings for a developer portal."
+ },
+ "PortalDelegationSettingsProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A delegation Url."
+ },
+ "validationKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management."
+ },
+ "subscriptions": {
+ "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties",
+ "description": "Subscriptions delegation settings."
+ },
+ "userRegistration": {
+ "$ref": "#/definitions/RegistrationDelegationSettingsProperties",
+ "description": "User registration delegation settings."
+ }
+ },
+ "description": "Delegation settings contract properties."
+ },
+ "PortalSigninSettingProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Redirect Anonymous users to the Sign-In page."
+ }
+ },
+ "description": "Sign-in settings contract properties."
+ },
+ "PortalSigninSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSigninSettingProperties",
+ "description": "Sign-in settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-In settings for the Developer Portal."
+ },
+ "PortalSignupSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSignupSettingsProperties",
+ "description": "Sign-up settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-Up settings for a developer portal."
+ },
+ "PortalSignupSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Allow users to sign up on a developer portal."
+ },
+ "termsOfService": {
+ "type": "object",
+ "$ref": "#/definitions/TermsOfServiceProperties",
+ "description": "Terms of service contract properties."
+ }
+ },
+ "description": "Sign-up settings contract properties."
+ },
+ "ProductCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Products list representation."
+ },
+ "ProductContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductContractProperties",
+ "description": "Product entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Product details."
+ },
+ "ProductContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "Product profile."
+ },
+ "ProductEntityBaseParameters": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Product description. May include HTML formatting tags.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "terms": {
+ "type": "string",
+ "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process."
+ },
+ "subscriptionRequired": {
+ "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
+ "type": "boolean"
+ },
+ "approvalRequired": {
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "type": "boolean"
+ },
+ "subscriptionsLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ },
+ "state": {
+ "type": "string",
+ "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
+ "enum": [
+ "notPublished",
+ "published"
+ ],
+ "x-ms-enum": {
+ "name": "ProductState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Product Entity Base Parameters"
+ },
+ "ProductTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the product in the form of /products/{productId}"
+ },
+ "name": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Product profile."
+ },
+ "ProductUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductUpdateProperties",
+ "description": "Product entity Update contract properties."
+ }
+ },
+ "description": "Product Update parameters."
+ },
+ "ProductUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Product operation."
+ },
+ "NamedValueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NamedValueContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged NamedValue list representation."
+ },
+ "NamedValueCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueCreateContractProperties",
+ "description": "NamedValue entity contract properties for PUT operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueCreateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueContractProperties",
+ "description": "NamedValue entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueEntityBaseParameters": {
+ "properties": {
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "Optional tags that when provided can be used to filter the NamedValue list."
+ },
+ "secret": {
+ "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.",
+ "type": "boolean"
+ }
+ },
+ "description": "NamedValue Entity Base Parameters set."
+ },
+ "NamedValueUpdateParameterProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueUpdateParameterProperties",
+ "description": "NamedValue entity Update contract properties."
+ }
+ },
+ "description": "NamedValue update Parameters."
+ },
+ "QuotaCounterCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaCounterContract"
+ },
+ "description": "Quota counter values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Quota Counter list representation."
+ },
+ "QuotaCounterContract": {
+ "properties": {
+ "counterKey": {
+ "type": "string",
+ "description": "The Key value of the Counter. Must not be empty.",
+ "minLength": 1
+ },
+ "periodKey": {
+ "type": "string",
+ "description": "Identifier of the Period for which the counter was collected. Must not be empty.",
+ "minLength": 1
+ },
+ "periodStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "periodEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "value": {
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota Value Properties"
+ }
+ },
+ "required": [
+ "counterKey",
+ "periodKey",
+ "periodStartTime",
+ "periodEndTime"
+ ],
+ "description": "Quota counter details."
+ },
+ "QuotaCounterValueContract": {
+ "properties": {
+ "value": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter Value Properties."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "QuotaCounterValueContractProperties": {
+ "properties": {
+ "callsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times Counter was called."
+ },
+ "kbTransferred": {
+ "type": "number",
+ "format": "double",
+ "description": "Data Transferred in KiloBytes."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "QuotaCounterValueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter value details."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "RecipientEmailCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientEmailContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientEmailContractProperties",
+ "description": "Recipient Email contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient Email details."
+ },
+ "RecipientEmailContractProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User Email subscribed to notification."
+ }
+ },
+ "description": "Recipient Email Contract Properties."
+ },
+ "RecipientsContractProperties": {
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Emails subscribed for the notification."
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Users subscribed for the notification."
+ }
+ },
+ "description": "Notification Parameter contract."
+ },
+ "RecipientUserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientUserContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientUserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientUsersContractProperties",
+ "description": "Recipient User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient User details."
+ },
+ "RecipientUsersContractProperties": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "API Management UserId subscribed to notification."
+ }
+ },
+ "description": "Recipient User Contract Properties."
+ },
+ "RegistrationDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for user registration."
+ }
+ },
+ "description": "User registration delegation settings properties."
+ },
+ "ReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "ReportRecordContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name depending on report endpoint specifies product, API, operation or developer name."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "interval": {
+ "type": "string",
+ "description": "Length of aggregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations)."
+ },
+ "country": {
+ "type": "string",
+ "description": "Country to which this record data is related."
+ },
+ "region": {
+ "type": "string",
+ "description": "Country region to which this record data is related."
+ },
+ "zip": {
+ "type": "string",
+ "description": "Zip code to which this record data is related."
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "API region identifier."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "callCountSuccess": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect"
+ },
+ "callCountBlocked": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorized and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests"
+ },
+ "callCountFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600"
+ },
+ "callCountOther": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of other calls."
+ },
+ "callCountTotal": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of calls."
+ },
+ "bandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bandwidth consumed."
+ },
+ "cacheHitCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times when content was served from cache policy."
+ },
+ "cacheMissCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times content was fetched from backend."
+ },
+ "apiTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request."
+ },
+ "apiTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request."
+ },
+ "apiTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request."
+ },
+ "serviceTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request on backend."
+ },
+ "serviceTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request on backend."
+ },
+ "serviceTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request on backend."
+ }
+ },
+ "description": "Report data."
+ },
+ "RepresentationContract": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Specifies a registered or custom content type for this representation, e.g. application/xml."
+ },
+ "sample": {
+ "type": "string",
+ "description": "An example of the representation."
+ },
+ "schemaId": {
+ "type": "string",
+ "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "formParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "Operation request/response representation details."
+ },
+ "RequestContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Operation request description."
+ },
+ "queryParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request query parameters."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request headers."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation request representations."
+ }
+ },
+ "description": "Operation request details."
+ },
+ "RequestReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "RequestReportRecordContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method associated with this request.."
+ },
+ "url": {
+ "type": "string",
+ "description": "The full URL associated with this request."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The client IP address associated with this request."
+ },
+ "backendResponseCode": {
+ "type": "string",
+ "description": "The HTTP status code received by the gateway as a result of forwarding this request to the backend."
+ },
+ "responseCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The HTTP status code returned by the gateway."
+ },
+ "responseSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of the response returned by the gateway."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this request was received by the gateway in ISO 8601 format."
+ },
+ "cache": {
+ "type": "string",
+ "description": "Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fulfilled by the backend."
+ },
+ "apiTime": {
+ "type": "number",
+ "format": "double",
+ "description": "The total time it took to process this request."
+ },
+ "serviceTime": {
+ "type": "number",
+ "format": "double",
+ "description": "he time it took to forward this request to the backend and get the response back."
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "Azure region where the gateway that processed this request is located."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Identifier."
+ },
+ "requestSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of this request.."
+ }
+ },
+ "description": "Request Report data."
+ },
+ "ResponseContract": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Operation response HTTP status code."
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation response description."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation response representations."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation response headers."
+ }
+ },
+ "required": [
+ "statusCode"
+ ],
+ "description": "Operation response details."
+ },
+ "SamplingSettings": {
+ "properties": {
+ "samplingType": {
+ "type": "string",
+ "description": "Sampling type.",
+ "enum": [
+ "fixed"
+ ],
+ "x-ms-enum": {
+ "name": "SamplingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "fixed",
+ "description": "Fixed-rate sampling."
+ }
+ ]
+ }
+ },
+ "percentage": {
+ "type": "number",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Rate of sampling for fixed-rate sampling."
+ }
+ },
+ "description": "Sampling settings for Diagnostic."
+ },
+ "SaveConfigurationParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SaveConfigurationParameterProperties",
+ "description": "Properties of the Save Configuration Parameters."
+ }
+ },
+ "description": "Save Tenant Configuration Contract details."
+ },
+ "SaveConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch in which to commit the current configuration snapshot."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Save Tenant Configuration operation."
+ },
+ "SchemaCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "description": "Api Schema Contract value.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "The response of the list schema operation."
+ },
+ "SchemaContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaContractProperties",
+ "description": "Properties of the Schema."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Schema Contract details."
+ },
+ "SchemaContractProperties": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml). - `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json` - `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml` - `OpenApi` Schema use `application/vnd.oai.openapi.components+json` - `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`."
+ },
+ "document": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaDocumentProperties",
+ "description": "Create or update Properties of the Schema Document."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "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."
+ }
+ },
+ "description": "Schema Document Properties."
+ },
+ "SubscriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Subscriptions list representation."
+ },
+ "SubscriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionContractProperties",
+ "description": "Subscription contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionContractProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the subscription, or null if the subscription has no name.",
+ "minLength": 0,
+ "maxLength": 100
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n",
+ "readOnly": true
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "notificationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "primaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Optional subscription comment added by an administrator when the state is changed to the 'rejected'."
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing is enabled",
+ "x-apim-code-nillable": true
+ }
+ },
+ "required": [
+ "scope",
+ "state"
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionCreateParameterProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "User (user id path) for whom subscription is being created in form /users/{userId}"
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Subscription name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing can be enabled"
+ }
+ },
+ "required": [
+ "scope",
+ "displayName"
+ ],
+ "description": "Parameters supplied to the Create subscription operation."
+ },
+ "SubscriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionCreateParameterProperties",
+ "description": "Subscription contract properties."
+ }
+ },
+ "description": "Subscription create details."
+ },
+ "SubscriptionKeyParameterNamesContract": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "description": "Subscription key header name."
+ },
+ "query": {
+ "type": "string",
+ "description": "Subscription key query string parameter name."
+ }
+ },
+ "description": "Subscription key parameter names details.",
+ "example": {
+ "subscriptionKeyParameterNames": {
+ "query": "customQueryParameterName",
+ "header": "customHeaderParameterName"
+ }
+ }
+ },
+ "SubscriptionsDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for subscriptions."
+ }
+ },
+ "description": "Subscriptions delegation settings properties."
+ },
+ "SubscriptionUpdateParameterProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "User identifier path: /users/{userId}"
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Subscription name."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Comments describing subscription state change by the administrator when the state is changed to the 'rejected'."
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing can be enabled"
+ }
+ },
+ "description": "Parameters supplied to the Update subscription operation."
+ },
+ "SubscriptionUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionUpdateParameterProperties",
+ "description": "Subscription Update contract properties."
+ }
+ },
+ "description": "Subscription update details."
+ },
+ "TagCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Tag entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tag Contract details."
+ },
+ "TagContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Tag contract Properties."
+ },
+ "TagCreateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Properties supplied to Create Tag operation."
+ }
+ },
+ "description": "Parameters supplied to Create/Update Tag operations."
+ },
+ "TagDescriptionBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the Tag."
+ },
+ "externalDocsUrl": {
+ "type": "string",
+ "description": "Absolute URL of external resources describing the tag.",
+ "maxLength": 2000
+ },
+ "externalDocsDescription": {
+ "type": "string",
+ "description": "Description of the external resources describing the tag."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged TagDescription list representation."
+ },
+ "TagDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionContractProperties",
+ "description": "TagDescription entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "TagDescriptionContractProperties": {
+ "properties": {
+ "tagId": {
+ "type": "string",
+ "description": "Identifier of the tag in the form of /tags/{tagId}"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TagDescriptionBaseProperties"
+ }
+ ],
+ "description": "TagDescription contract Properties."
+ },
+ "TagDescriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionBaseProperties",
+ "description": "Properties supplied to Create TagDescription operation."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagResourceCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagResourceContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagResourceContract": {
+ "properties": {
+ "tag": {
+ "$ref": "#/definitions/TagTagResourceContractProperties",
+ "description": "Tag associated with the resource."
+ },
+ "api": {
+ "$ref": "#/definitions/ApiTagResourceContractProperties",
+ "description": "Api associated with the tag."
+ },
+ "operation": {
+ "$ref": "#/definitions/OperationTagResourceContractProperties",
+ "description": "Operation associated with the tag."
+ },
+ "product": {
+ "$ref": "#/definitions/ProductTagResourceContractProperties",
+ "description": "Product associated with the tag."
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "description": "TagResource contract properties."
+ },
+ "TagTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Tag identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Tag Name",
+ "minLength": 1,
+ "maxLength": 160
+ }
+ },
+ "description": "Contract defining the Tag property in the Tag Resource Contract"
+ },
+ "TenantConfigurationSyncStateContract": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of Git branch."
+ },
+ "commitId": {
+ "type": "string",
+ "description": "The latest commit Id."
+ },
+ "isExport": {
+ "type": "boolean",
+ "description": "value indicating if last sync was save (true) or deploy (false) operation."
+ },
+ "isSynced": {
+ "type": "boolean",
+ "description": "value indicating if last synchronization was later than the configuration change."
+ },
+ "isGitEnabled": {
+ "type": "boolean",
+ "description": "value indicating whether Git configuration access is enabled."
+ },
+ "syncDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "configurationChangeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "description": "Tenant Configuration Synchronization State."
+ },
+ "TermsOfServiceProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "A terms of service text."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Display terms of service during a sign-up process."
+ },
+ "consentRequired": {
+ "type": "boolean",
+ "description": "Ask user for consent to the terms of service."
+ }
+ },
+ "description": "Terms of service contract properties."
+ },
+ "TokenBodyParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "body parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "body parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "OAuth acquire token request body parameter (www-url-form-encoded)."
+ },
+ "UserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Users list representation."
+ },
+ "UserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserContractProperties",
+ "description": "User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "User details."
+ },
+ "UserContractProperties": {
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "First name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name."
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address."
+ },
+ "registrationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "groups": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./definitions.json#/definitions/GroupContractProperties"
+ },
+ "description": "Collection of groups user is part of."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "User profile."
+ },
+ "UserCreateParameterProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password. If no value is provided, a default password is generated."
+ },
+ "appType": {
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ }
+ },
+ "confirmation": {
+ "type": "string",
+ "description": "Determines the type of confirmation e-mail that will be sent to the newly created user.",
+ "enum": [
+ "signup",
+ "invite"
+ ],
+ "x-ms-enum": {
+ "name": "Confirmation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "signup",
+ "description": "Send an e-mail to the user confirming they have successfully signed up."
+ },
+ {
+ "value": "invite",
+ "description": "Send an e-mail inviting the user to sign-up and complete registration."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "email",
+ "firstName",
+ "lastName"
+ ],
+ "description": "Parameters supplied to the Create User operation."
+ },
+ "UserCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserCreateParameterProperties",
+ "description": "User entity create contract properties."
+ }
+ },
+ "description": "User create details."
+ },
+ "UserEntityBaseParameters": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.",
+ "enum": [
+ "active",
+ "blocked",
+ "pending",
+ "deleted"
+ ],
+ "default": "active",
+ "x-ms-enum": {
+ "name": "UserState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "active",
+ "description": "User state is active."
+ },
+ {
+ "value": "blocked",
+ "description": "User is blocked. Blocked users cannot authenticate at developer portal or call API."
+ },
+ {
+ "value": "pending",
+ "description": "User account is pending. Requires identity confirmation before it can be made active."
+ },
+ {
+ "value": "deleted",
+ "description": "User account is closed. All identities and related entities are removed."
+ }
+ ]
+ }
+ },
+ "note": {
+ "type": "string",
+ "description": "Optional note about a user set by the administrator."
+ },
+ "identities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "Collection of user identities."
+ }
+ },
+ "description": "User Entity Base Parameters set."
+ },
+ "UserIdentityCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "User Identity values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of Users Identity list representation."
+ },
+ "UserIdentityContract": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Identity provider name."
+ },
+ "id": {
+ "type": "string",
+ "description": "Identifier value within provider."
+ }
+ },
+ "description": "User identity details."
+ },
+ "UserTokenParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserTokenParameterProperties",
+ "description": "User Token Parameter contract properties."
+ }
+ },
+ "description": "Get User Token parameters."
+ },
+ "UserTokenParameterProperties": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key to be used to generate token for user.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "default": "primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "keyType",
+ "expiry"
+ ],
+ "description": "Parameters supplied to the Get User Token operation."
+ },
+ "UserTokenResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Shared Access Authorization token for the User."
+ }
+ },
+ "description": "Get User Token response details."
+ },
+ "UserUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserUpdateParametersProperties",
+ "description": "User entity update contract properties."
+ }
+ },
+ "description": "User update parameters."
+ },
+ "UserUpdateParametersProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password."
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update User operation."
+ },
+ "X509CertificateName": {
+ "properties": {
+ "name": {
+ "description": "Common Name of the Certificate.",
+ "type": "string"
+ },
+ "issuerCertificateThumbprint": {
+ "description": "Thumbprint for the Issuer of the Certificate.",
+ "type": "string"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-windows-cluster-x509-security"
+ },
+ "description": "Properties of server X509Names."
+ },
+ "ClientSecretContract": {
+ "properties": {
+ "clientSecret": {
+ "type": "string",
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "NamedValueSecretContract": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "This is secret value of the NamedValue entity."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "PortalSettingValidationKeyContract": {
+ "properties": {
+ "validationKey": {
+ "type": "string",
+ "description": "This is secret value of the validation key in portal settings."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "SubscriptionKeysContract": {
+ "properties": {
+ "primaryKey": {
+ "type": "string",
+ "description": "Subscription primary key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Subscription secondary key.",
+ "minLength": 1,
+ "maxLength": 256
+ }
+ },
+ "description": "Subscription keys."
+ },
+ "GatewayCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Gateway list representation."
+ },
+ "GatewayContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayContractProperties",
+ "description": "Gateway details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Gateway details."
+ },
+ "GatewayContractProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "#/definitions/ResourceLocationDataContract",
+ "description": "Gateway location."
+ },
+ "description": {
+ "type": "string",
+ "description": "Gateway description",
+ "maxLength": 1000
+ }
+ },
+ "description": "Properties of the Gateway contract."
+ },
+ "ResourceLocationDataContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A canonical name for the geographic or physical location.",
+ "maxLength": 256
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or locality where the resource is located.",
+ "maxLength": 256
+ },
+ "district": {
+ "type": "string",
+ "description": "The district, state, or province where the resource is located.",
+ "maxLength": 256
+ },
+ "countryOrRegion": {
+ "type": "string",
+ "description": "The country or region where the resource is located.",
+ "maxLength": 256
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Resource location data properties."
+ },
+ "GatewayKeysContract": {
+ "properties": {
+ "primary": {
+ "type": "string",
+ "description": "Primary gateway key."
+ },
+ "secondary": {
+ "type": "string",
+ "description": "Secondary gateway key."
+ }
+ },
+ "description": "Gateway authentication keys."
+ },
+ "GatewayTokenRequestContract": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key to be used to generate gateway token.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "default": "primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "keyType",
+ "expiry"
+ ],
+ "description": "Gateway token request contract properties."
+ },
+ "GatewayTokenContract": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Shared Access Authentication token value for the Gateway."
+ }
+ },
+ "description": "Gateway access token."
+ },
+ "GatewayKeyRegenerationRequestContract": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key being regenerated.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Gateway key regeneration request contract properties."
+ },
+ "GatewayHostnameConfigurationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayHostnameConfigurationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Gateway hostname configuration list representation."
+ },
+ "GatewayHostnameConfigurationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayHostnameConfigurationContractProperties",
+ "description": "Gateway hostname configuration details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Gateway hostname configuration details."
+ },
+ "GatewayHostnameConfigurationContractProperties": {
+ "properties": {
+ "hostname": {
+ "type": "string",
+ "description": "Hostname value. Supports valid domain name, partial or full wildcard"
+ },
+ "certificateId": {
+ "type": "string",
+ "description": "Identifier of Certificate entity that will be used for TLS connection establishment"
+ },
+ "negotiateClientCertificate": {
+ "type": "boolean",
+ "description": "Determines whether gateway requests client certificate"
+ },
+ "tls10Enabled": {
+ "type": "boolean",
+ "description": "Specifies if TLS 1.0 is supported"
+ },
+ "tls11Enabled": {
+ "type": "boolean",
+ "description": "Specifies if TLS 1.1 is supported"
+ },
+ "http2Enabled": {
+ "type": "boolean",
+ "description": "Specifies if HTTP/2.0 is supported"
+ }
+ },
+ "description": "Gateway hostname configuration details."
+ },
+ "AssociationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state.",
+ "enum": [
+ "created"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Association entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Association entity details."
+ },
+ "ContentTypeCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentTypeContract"
+ },
+ "description": "Collection of content types.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content types."
+ },
+ "ContentTypeContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentTypeContractProperties",
+ "description": "Properties of the content type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentTypeContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Content type identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Content type name. Must be 1 to 250 characters long."
+ },
+ "description": {
+ "type": "string",
+ "description": "Content type description."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Content type schema."
+ },
+ "version": {
+ "type": "string",
+ "description": "Content type version."
+ }
+ }
+ },
+ "ContentItemCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentItemContract"
+ },
+ "description": "Collection of content items.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content items."
+ },
+ "ContentItemContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentItemContractProperties",
+ "description": "Properties of the content item."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentItemContractProperties": {
+ "properties": {},
+ "additionalProperties": true
+ },
+ "DeletedServicesCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedServiceContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged deleted Api Management Services List Representation."
+ },
+ "DeletedServiceContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeletedServiceContractProperties",
+ "description": "Deleted Api Management Service details."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Api Management Service Master Location."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Deleted Api Management Service information."
+ },
+ "DeletedServiceContractProperties": {
+ "properties": {
+ "serviceId": {
+ "type": "string",
+ "description": "Fully-qualified API Management Service Resource ID"
+ },
+ "scheduledPurgeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "UTC Date and Time when the service will be automatically purged. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "deletionDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json
new file mode 100644
index 000000000000..bcb094562c01
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "west us"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "UID": "52ed5986-717b-45b4-b17c-3df8db372cff"
+ },
+ "location": "East Asia",
+ "etag": "AAAAAAAXX6Y=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2015-09-22T01:50:34.7921566Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "207.46.155.24"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/eastUsVirtualNetwork/subnets/apimSubnet"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json
new file mode 100644
index 000000000000..41d62225bcbb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json
new file mode 100644
index 000000000000..d731afb7bdea
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "after": "PT3S"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json
new file mode 100644
index 000000000000..8cf894468d7b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "parameters": {
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "adding a new logger",
+ "credentials": {
+ "instrumentationKey": "11................a1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/microsoft.insights/components/airesource"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json
new file mode 100644
index 000000000000..619b795d5b9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "description": "apidescription5200",
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "displayName": "apiname1463",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "https",
+ "http"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json
new file mode 100644
index 000000000000..0d8e6c534d20
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api2",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json
new file mode 100644
index 000000000000..ae3bdad89557
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json
new file mode 100644
index 000000000000..63725f8591b4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
new file mode 100644
index 000000000000..0a18648f2fe7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "attachmentId": "57d2ef278aa04f0888cba3f3",
+ "parameters": {
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "image/jpeg",
+ "content": "IEJhc2U2NA=="
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json
new file mode 100644
index 000000000000..69548de02f8c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "commentId": "599e29ab193c3c0bd0b3e2fb",
+ "parameters": {
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
new file mode 100644
index 000000000000..033315e00ef2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echoapiv3",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json
new file mode 100644
index 000000000000..76573a3df7c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "PetStoreTemplate2",
+ "operationId": "newoperations",
+ "parameters": {
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json
new file mode 100644
index 000000000000..54b38e94686e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "operationId": "5600b57e7e8880006a080001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": " "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json
new file mode 100644
index 000000000000..ae4f356cad94
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "operationId": "5931a75ae4bbd512a88c680a",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json
new file mode 100644
index 000000000000..b9e309d08fe8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": " "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
new file mode 100644
index 000000000000..34d68490eeb9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n ",
+ "format": "rawxml"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n "
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json
new file mode 100644
index 000000000000..8a43aa5e8f81
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json
new file mode 100644
index 000000000000..5eb9fc470247
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api;rev=3",
+ "parameters": {
+ "properties": {
+ "path": "echo",
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json
new file mode 100644
index 000000000000..1039cf587a0e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "parameters": {
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json
new file mode 100644
index 000000000000..d99c49cd302e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json
new file mode 100644
index 000000000000..50bce3a5eea9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagDescriptionId": "tagId1",
+ "parameters": {
+ "properties": {
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsUrl": "http://some.url/additionaldoc",
+ "externalDocsDescription": "Description of the external docs resource"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
new file mode 100644
index 000000000000..a26417815f8a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "apidocs",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link",
+ "value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
+ "path": "petstoreapi123",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
new file mode 100644
index 000000000000..0af2e9e68fc1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "openapi-link",
+ "value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
new file mode 100644
index 000000000000..d6849bba079d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link-json",
+ "value": "http://petstore.swagger.io/v2/swagger.json",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
new file mode 100644
index 000000000000..ef9260d07344
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "wadl-link-json",
+ "value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
+ "path": "collector"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json
new file mode 100644
index 000000000000..d4f40bf72928
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "api1",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
new file mode 100644
index 000000000000..fad87e295026
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json
new file mode 100644
index 000000000000..3333eb5e0051
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer",
+ "parameters": {
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
new file mode 100644
index 000000000000..9c110306f328
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "tls": {
+ "validateCertificateChain": true,
+ "validateCertificateName": true
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
new file mode 100644
index 000000000000..d15296dc92df
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend",
+ "parameters": {
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "protocol": "http",
+ "url": "fabric:/mytestapp/mytestservice",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json
new file mode 100644
index 000000000000..c2ba80f1eb19
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "accessKey": "**************************************************",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json
new file mode 100644
index 000000000000..ec7994160ed9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "c1",
+ "parameters": {
+ "properties": {
+ "connectionString": "apim.redis.cache.windows.net:6380,password=xc,ssl=True,abortConnect=False",
+ "description": "Redis cache instances in West India",
+ "useFromLocation": "default",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json
new file mode 100644
index 000000000000..1640c103bea6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "tempcert",
+ "parameters": {
+ "properties": {
+ "data": "****************Base 64 Encoded Certificate *******************************",
+ "password": "****Certificate Password******"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json
new file mode 100644
index 000000000000..c2945ea48098
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "templateCertkv",
+ "parameters": {
+ "properties": {
+ "keyVault": {
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json
new file mode 100644
index 000000000000..8834d81790cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "parameters": {
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json
new file mode 100644
index 000000000000..e5068f70e9c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "parameters": {
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json
new file mode 100644
index 000000000000..5d6be89af0ba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json
new file mode 100644
index 000000000000..54029d45fd00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "eh1",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "name": "hydraeventhub",
+ "connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json
new file mode 100644
index 000000000000..803c1cb3d0d7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "parameters": {
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json
new file mode 100644
index 000000000000..5df088b7b8f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "echo-api",
+ "parameters": {
+ "properties": {
+ "provisioningState": "created"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..ead2d68bca64
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default",
+ "parameters": {
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json
new file mode 100644
index 000000000000..64865c2913f3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "temp group",
+ "type": "custom"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "temp group",
+ "type": "custom"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json
new file mode 100644
index 000000000000..7f8787a1d353
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "aadGroup",
+ "parameters": {
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "aadGroup",
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "aadGroup",
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json
new file mode 100644
index 000000000000..f53b3cac13ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "userId": "59307d350af58404d8a26300"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "59307d350af58404d8a26300",
+ "properties": {
+ "firstName": "test",
+ "lastName": "user",
+ "email": "testuser1@live.com",
+ "state": "active",
+ "registrationDate": "2017-06-01T20:46:45.437Z",
+ "groups": [],
+ "identities": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "59307d350af58404d8a26300",
+ "properties": {
+ "firstName": "test",
+ "lastName": "user",
+ "email": "testuser1@live.com",
+ "state": "active",
+ "registrationDate": "2017-06-01T20:46:45.437Z",
+ "groups": [],
+ "identities": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json
new file mode 100644
index 000000000000..6347ea5556b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "facebook",
+ "parameters": {
+ "properties": {
+ "clientId": "facebookid",
+ "clientSecret": "facebookapplicationsecret"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Facebook",
+ "properties": {
+ "clientId": "facebookid",
+ "type": "facebook"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Facebook",
+ "properties": {
+ "clientId": "facebookid",
+ "type": "facebook"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
new file mode 100644
index 000000000000..b73a7cb5ad10
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
@@ -0,0 +1,256 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password",
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "disableGateway": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXoo=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T08:04:26.9492661Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "disableGateway": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json
new file mode 100644
index 000000000000..760528dc73e7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop2",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop2",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..c02c34c81364
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop6",
+ "parameters": {
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json
new file mode 100644
index 000000000000..6b7d0297a34a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json
new file mode 100644
index 000000000000..f86dfd5e4b3f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "foobar@live.com"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json
new file mode 100644
index 000000000000..43c07a0097cf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..7a4906b4933c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect3",
+ "parameters": {
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3",
+ "clientSecret": "x"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect3",
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect3",
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json
new file mode 100644
index 000000000000..76e8e5189275
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json
new file mode 100644
index 000000000000..9b564cd2f705
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json
new file mode 100644
index 000000000000..4c95efb90c2e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json
new file mode 100644
index 000000000000..0db31fe5d33d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "groupId": "templateGroup"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "templateGroup",
+ "properties": {
+ "displayName": "Template Group",
+ "description": "group created via Template",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "templateGroup",
+ "properties": {
+ "displayName": "Template Group",
+ "description": "group created via Template",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json
new file mode 100644
index 000000000000..e963a2ae3f3a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5702e97e5157a50f48dce801",
+ "policyId": "policy",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json
new file mode 100644
index 000000000000..401e565450dc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateService.json
new file mode 100644
index 000000000000..e30c9685040f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateService.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "location": "South Central US",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ },
+ "location": "South Central US",
+ "etag": "AAAAAAAp3P0=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ },
+ "location": "South Central US",
+ "etag": "AAAAAAAp3T4=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "23.102.171.124"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json
new file mode 100644
index 000000000000..5b587d61a0e0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAAWiE=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-04-11T16:29:29.9711098Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
+ "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAAWiU=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-04-11T16:29:29.9711098Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
+ "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json
new file mode 100644
index 000000000000..f3b8d7dc0323
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "location": "North europe",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAiXto=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-07-28T23:18:14.6562474Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAiXvE=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-07-28T23:18:14.6562474Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "20.54.34.66"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
new file mode 100644
index 000000000000..e137b08d207c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
@@ -0,0 +1,256 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "virtualNetworkType": "None",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "location": "North Europe",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAigi8=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-09-13T22:30:20.7759747Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAigjU=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-09-13T22:30:20.7759747Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ ],
+ "publicIPAddresses": [
+ "40.112.74.192"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "tenantId": "f686d426-8d16-xxxx-xxxx-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "principalId": "15e769b2-xxxx-xxxx-xxxx-3fd9a923ac3a",
+ "clientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json
new file mode 100644
index 000000000000..04947bd314e9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json
@@ -0,0 +1,154 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "certificates": [
+ {
+ "encodedCertificate": "*******Base64 encoded Certificate******************",
+ "certificatePassword": "Password",
+ "storeName": "CertificateAuthority"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ },
+ "location": "Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "Central US",
+ "etag": "AAAAAAAp3TM=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:33:28.0906918Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "CertificateAuthority",
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "Central US",
+ "etag": "AAAAAAAp3UM=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:33:28.0906918Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-centralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "40.113.223.117"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "CertificateAuthority",
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
new file mode 100644
index 000000000000..17411e554208
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
+ }
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAFzyQ=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-03-12T01:05:33.4573398Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAFzyk=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-03-12T01:05:33.4573398Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "tenantId": "XXXXX-86f1-41af-XXXX-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
+ "principalId": "XXXXX-6e62-4649-9f54-a119fc1ba85e",
+ "clientId": "5a2c6b8e-0905-XXXX-a772-993c9418137f"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
new file mode 100644
index 000000000000..2f35ab4cac6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "soapApi",
+ "parameters": {
+ "properties": {
+ "format": "wsdl-link",
+ "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
+ "path": "currency",
+ "apiType": "soap",
+ "wsdlSelector": {
+ "wsdlServiceName": "CurrencyConvertor",
+ "wsdlEndpointName": "CurrencyConvertorSoap"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
new file mode 100644
index 000000000000..7d3551631296
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "soapApi",
+ "parameters": {
+ "properties": {
+ "format": "wsdl-link",
+ "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
+ "path": "currency",
+ "wsdlSelector": {
+ "wsdlServiceName": "CurrencyConvertor",
+ "wsdlEndpointName": "CurrencyConvertorSoap"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json
new file mode 100644
index 000000000000..b89203c4f074
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "parameters": {
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T23:34:03.1055076Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T23:34:03.1055076Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json
new file mode 100644
index 000000000000..d2fac0799daf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "parameters": {
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json
new file mode 100644
index 000000000000..a891904a89e5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "parameters": {
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received."
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json
new file mode 100644
index 000000000000..9e65f5e1cc66
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "confirmation": "signup"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512288c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
+ "groups": [],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foobar@outlook.com"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512288c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
+ "groups": [],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foobar@outlook.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json
new file mode 100644
index 000000000000..2456ef0d3f14
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json
new file mode 100644
index 000000000000..ed91eddca0a5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json
new file mode 100644
index 000000000000..e5ac041d2e01
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json
new file mode 100644
index 000000000000..6260dcee32b6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "attachmentId": "57d2ef278aa04f0888cba3f3",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json
new file mode 100644
index 000000000000..971bb981ed06
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "commentId": "599e29ab193c3c0bd0b3e2fb",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json
new file mode 100644
index 000000000000..a27085304ec3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json
new file mode 100644
index 000000000000..6f8084f32a3b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "testapi",
+ "operationId": "testoperation",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json
new file mode 100644
index 000000000000..db7f26f86550
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "operationId": "59d5b28d1f7fab116c282651",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json
new file mode 100644
index 000000000000..77fb0e8801d9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "loggerId",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json
new file mode 100644
index 000000000000..d122be6ed2b0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5a5fcc09124a7fa9b89f2f1d",
+ "releaseId": "testrev",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json
new file mode 100644
index 000000000000..cb80dae93a18
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "schemaId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json
new file mode 100644
index 000000000000..d63703e6e10b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json
new file mode 100644
index 000000000000..268d87f4419a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagDescriptionId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json
new file mode 100644
index 000000000000..61e2061e0723
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "a1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json
new file mode 100644
index 000000000000..7f0fcda1b0cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json
new file mode 100644
index 000000000000..a821e9eaae13
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json
new file mode 100644
index 000000000000..d6ced53735f2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "southindia",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json
new file mode 100644
index 000000000000..9a1043a366ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "tempcert",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json
new file mode 100644
index 000000000000..43402d3c8e31
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json
new file mode 100644
index 000000000000..1bfdb49f901d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json
new file mode 100644
index 000000000000..f2d7803ad4c3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json
new file mode 100644
index 000000000000..f35a52f5db12
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json
new file mode 100644
index 000000000000..ff9efa996b37
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..ada98bb25604
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json
new file mode 100644
index 000000000000..f1dd14a19465
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "aadGroup",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json
new file mode 100644
index 000000000000..c510b3d8e152
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "templategroup",
+ "userId": "59307d350af58404d8a26300",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json
new file mode 100644
index 000000000000..f94a8e439dbd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "aad",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json
new file mode 100644
index 000000000000..c21bc0467cc9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json
new file mode 100644
index 000000000000..a7d49f4b2dca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json
new file mode 100644
index 000000000000..39a8adf115e3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json
new file mode 100644
index 000000000000..48d5d5a1a559
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json
new file mode 100644
index 000000000000..7fef910da865
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect3",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json
new file mode 100644
index 000000000000..1ab1440b69d6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json
new file mode 100644
index 000000000000..8eddb2b6708c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "deleteSubscriptions": true,
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json
new file mode 100644
index 000000000000..1ccaa6e85a42
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json
new file mode 100644
index 000000000000..f936f38fdf10
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "groupId": "templateGroup",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json
new file mode 100644
index 000000000000..2bc395f622ba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json
new file mode 100644
index 000000000000..f2071cdfa8d1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json
new file mode 100644
index 000000000000..681081be8601
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json
new file mode 100644
index 000000000000..4372de639b9d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json
new file mode 100644
index 000000000000..f120cb3ef528
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json
new file mode 100644
index 000000000000..68ccd33e4f53
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json
new file mode 100644
index 000000000000..30c68daf5e51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus2/deletedservices/apimService",
+ "name": "apimService",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US 2",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json
new file mode 100644
index 000000000000..1f165c604d8a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService3",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "location": "westus"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json
new file mode 100644
index 000000000000..f0d339686d28
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "parameters": {
+ "keyType": "primary",
+ "expiry": "2020-04-21T00:44:24.2845269Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "gw1&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json
new file mode 100644
index 000000000000..b819136e3414
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primary": "primary_key_value",
+ "secondary": "secondary_key_value"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json
new file mode 100644
index 000000000000..b0ef6fc56e46
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gwId",
+ "parameters": {
+ "keyType": "primary"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json
new file mode 100644
index 000000000000..fef873810558
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "57d1f7558aa04f15146d9d8a",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "1",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json
new file mode 100644
index 000000000000..3f93b055ffee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json
new file mode 100644
index 000000000000..f512843cdd74
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "format": "swagger-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "format": "swagger-link-json",
+ "value": {
+ "link": "https://apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore Extensive.json?sv=2015-07-08&sr=b&sig=mxhLsFuOonu8EXIjyFPV%2FnDra0qTIoip7N7MuU%2BTFsA%3D&se=2019-04-10T22:41:31Z&sp=r"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json
new file mode 100644
index 000000000000..f14fb80ee5c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "aid9676",
+ "format": "openapi-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/aid9676",
+ "format": "openapi-link",
+ "value": {
+ "link": "https: //apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore.yaml?sv=2015-07-08&sr=b&sig=qqtR1y5iTbz5P7USBduqB5vriIU4gmiGqe0lKVV8j9k%3D&se=2019-04-10T22:40:57Z&sp=r"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json
new file mode 100644
index 000000000000..7c4985a8e7c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json
new file mode 100644
index 000000000000..c3ce2e32b603
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "attachmentId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json
new file mode 100644
index 000000000000..fcfb4193289c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "commentId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json
new file mode 100644
index 000000000000..248732ab7ebc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "sample": "\r\n\r\n \r\n \r\n 1 \r\n \r\n \r\n ",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "sample": "\r\n\r\n \r\n \r\n 1 \r\n \r\n \r\n ",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json
new file mode 100644
index 000000000000..19332e3f6817
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "swagger-petstore",
+ "operationId": "loginUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/swagger-petstore/operations/loginUser",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "loginUser",
+ "properties": {
+ "displayName": "Logs user into the system",
+ "method": "GET",
+ "urlTemplate": "/user/login?username={username}&password={password}",
+ "templateParameters": [
+ {
+ "name": "username",
+ "description": "The user name for login",
+ "type": "string",
+ "required": true,
+ "values": []
+ },
+ {
+ "name": "password",
+ "description": "The password for login in clear text",
+ "type": "string",
+ "required": true,
+ "values": []
+ }
+ ],
+ "description": "",
+ "request": {
+ "queryParameters": [],
+ "headers": [],
+ "representations": []
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml",
+ "schemaId": "5ba91a35f373b513a0bf31c6",
+ "typeName": "UserLoginGet200ApplicationXmlResponse"
+ },
+ {
+ "contentType": "application/json",
+ "schemaId": "5ba91a35f373b513a0bf31c6",
+ "typeName": "UserLoginGet200ApplicationJsonResponse"
+ }
+ ],
+ "headers": [
+ {
+ "name": "X-Rate-Limit",
+ "description": "calls per hour allowed by the user",
+ "type": "integer",
+ "values": []
+ },
+ {
+ "name": "X-Expires-After",
+ "description": "date in UTC when token expires",
+ "type": "string",
+ "values": []
+ }
+ ]
+ },
+ {
+ "statusCode": 400,
+ "description": "Invalid username/password supplied",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json
new file mode 100644
index 000000000000..e059fe77279f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b539c53f5b0062040001/operations/5600b53ac53f5b0062080006/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n This is a sample \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json
new file mode 100644
index 000000000000..5cb9098006fd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json
new file mode 100644
index 000000000000..202b43c3069d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b59475ff190048040001",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json
new file mode 100644
index 000000000000..a43f08677b5b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json
new file mode 100644
index 000000000000..0fc7f51db655
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api;rev=3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "3",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "fixed bug in contract"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json
new file mode 100644
index 000000000000..ec36f1b34797
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json
new file mode 100644
index 000000000000..720ba5cb103c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json
new file mode 100644
index 000000000000..9c89f046ddcc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/tagDescriptions/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json
new file mode 100644
index 000000000000..5cd3a2fc3daf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "Version Set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json
new file mode 100644
index 000000000000..68360d49e9c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json
new file mode 100644
index 000000000000..1c91275b8805
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json
new file mode 100644
index 000000000000..4726f660414b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "c1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json
new file mode 100644
index 000000000000..33526b16bf63
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA**********************8594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json
new file mode 100644
index 000000000000..9ec311ff43e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json
new file mode 100644
index 000000000000..3cbf82f676cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json
new file mode 100644
index 000000000000..3992d40ee51e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json
new file mode 100644
index 000000000000..6d85bea5a4b7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService3",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json
new file mode 100644
index 000000000000..81fa6686e651
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json
new file mode 100644
index 000000000000..81b39c802832
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..338c448706f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json
new file mode 100644
index 000000000000..833feaa62b7b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json
new file mode 100644
index 000000000000..97b9e1488c7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json
new file mode 100644
index 000000000000..2239666930c1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json
new file mode 100644
index 000000000000..e841df62dd1c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/kloudapilogger1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "kloudapilogger1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "testeventhub3again",
+ "credentials": {
+ "name": "testeventhub4",
+ "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json
new file mode 100644
index 000000000000..0f985ed9146a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testarmTemplateproperties2",
+ "properties": {
+ "displayName": "propName",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..57d4b52e8cb8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json
new file mode 100644
index 000000000000..6b7d0297a34a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json
new file mode 100644
index 000000000000..0530deb1d21a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json
new file mode 100644
index 000000000000..6077b92eafd6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json
new file mode 100644
index 000000000000..48e37da34fe4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "format": "rawxml"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "format": "rawxml",
+ "value": "\r\n\r\n\t\r\n\t\t\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t \r\n\t \r\n\t\r\n\t\t \r\n\t \r\n\t \r\n\t \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json
new file mode 100644
index 000000000000..ca26615588fb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json
new file mode 100644
index 000000000000..ff2e08733ea8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "kjoshiarmTemplateProduct4",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json
new file mode 100644
index 000000000000..61abf1257c81
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json
new file mode 100644
index 000000000000..c620808ea72a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
new file mode 100644
index 000000000000..9f2657010d1d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json
new file mode 100644
index 000000000000..7fb71bd87239
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Echo API",
+ "apiId": "/apis/5600b59475ff190048040001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "httpbin",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json
new file mode 100644
index 000000000000..61123d73fbf6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "country": "US",
+ "region": "WA",
+ "zip": "98052",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json
new file mode 100644
index 000000000000..044b3fac4edb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "get",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "operationId": "/apis/57a03a13e4bbd5119c8b19e9/operations/57a03a1dd8d14f0a780d7d14",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "GetWeatherInformation",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93e",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "GetCityForecastByZIP",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93f",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json
new file mode 100644
index 000000000000..21670a33a873
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Starter",
+ "productId": "/products/5600b59475ff190048060001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Unlimited",
+ "productId": "/products/5600b59475ff190048060002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json
new file mode 100644
index 000000000000..229a04f6fb86
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "GET",
+ "url": "https://apimService1.azure-api.net/echo/resource?param1=sample",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 405,
+ "timestamp": "2017-06-03T00:17:00.1649134Z",
+ "cache": "none",
+ "apiTime": 221.1544,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "63e7119c-26aa-433c-96d7-f6f3267ff52f",
+ "requestSize": 0
+ },
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "POST",
+ "url": "https://apimService1.azure-api.net/echo/resource",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 403,
+ "timestamp": "2017-06-03T00:17:20.5255131Z",
+ "cache": "none",
+ "apiTime": 6.6754000000000007,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "e581b7f7-c9ec-4fc6-8ab9-3855d9b00b04",
+ "requestSize": 0
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json
new file mode 100644
index 000000000000..d5fe01338505
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060001",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060002",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5702e97e5157a50f48dce801",
+ "subscriptionId": "/subscriptions/5702e97e5157a50a9c733303",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json
new file mode 100644
index 000000000000..92b4b0b48e3d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'",
+ "interval": "PT15M"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timestamp": "2017-06-03T00:15:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 4,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 4,
+ "bandwidth": 3243,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1337.46335,
+ "apiTimeMin": 885.0839000000001,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 1255.917425,
+ "serviceTimeMin": 882.8264,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "timestamp": "2017-06-03T00:30:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 9,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 10,
+ "bandwidth": 7776,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 872.7818777777778,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1093.8407,
+ "serviceTimeAvg": 824.2847111111112,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 973.2262000000001
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json
new file mode 100644
index 000000000000..a75bc98c2a2f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Administrator",
+ "userId": "/users/1",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "Samir Solanki",
+ "userId": "/users/56eaec62baf08b06e46d27fd",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Anonymous",
+ "userId": "/users/54c800b332965a0035030000",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json
new file mode 100644
index 000000000000..b676ce95f821
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTag.json
new file mode 100644
index 000000000000..6731fe050098
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json
new file mode 100644
index 000000000000..8cf2b0190cf2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json
new file mode 100644
index 000000000000..93932543df7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json
new file mode 100644
index 000000000000..6bbdf2e206d4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json
new file mode 100644
index 000000000000..50b325e1b598
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json
new file mode 100644
index 000000000000..2ce252ee87b4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json
new file mode 100644
index 000000000000..fe58ac88b529
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
new file mode 100644
index 000000000000..a4ea190a4bb9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "attachmentId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json
new file mode 100644
index 000000000000..e6d4a6e777d6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "commentId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json
new file mode 100644
index 000000000000..eded86f7d3f9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json
new file mode 100644
index 000000000000..4e5592c7ed4a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json
new file mode 100644
index 000000000000..be8c80e887c4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json
new file mode 100644
index 000000000000..06fe21531066
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json
new file mode 100644
index 000000000000..1daa119850fb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json
new file mode 100644
index 000000000000..53ada6295bbc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json
new file mode 100644
index 000000000000..3af1593849f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json
new file mode 100644
index 000000000000..10013cf30dd9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json
new file mode 100644
index 000000000000..19d74745c2a2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json
new file mode 100644
index 000000000000..b0cc21645f2d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json
new file mode 100644
index 000000000000..42880d255b50
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json
new file mode 100644
index 000000000000..b8c234443954
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json
new file mode 100644
index 000000000000..23cefcb4ef40
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json
new file mode 100644
index 000000000000..06ed7f8ace4a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json
new file mode 100644
index 000000000000..c47b61600d79
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json
new file mode 100644
index 000000000000..ec83014b9f40
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json
new file mode 100644
index 000000000000..1f8c05912c21
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json
new file mode 100644
index 000000000000..79f8cc1a83f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "mygateway"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json
new file mode 100644
index 000000000000..9fa9626c4ad5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "api1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..e980097253ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json
new file mode 100644
index 000000000000..63649c50827d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json
new file mode 100644
index 000000000000..10171b29af03
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json
new file mode 100644
index 000000000000..339a8b120b51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json
new file mode 100644
index 000000000000..18a864d57e83
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json
new file mode 100644
index 000000000000..f783fa01c78b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
new file mode 100644
index 000000000000..893611c4148a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
new file mode 100644
index 000000000000..bcd278b46da6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json
new file mode 100644
index 000000000000..e48999ceb3b4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json
new file mode 100644
index 000000000000..d2b2be6dba18
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json
new file mode 100644
index 000000000000..bd71bdc6cd4f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json
new file mode 100644
index 000000000000..1b974f3b83f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "apiId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json
new file mode 100644
index 000000000000..39852b18ff8f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json
new file mode 100644
index 000000000000..be455d591168
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "unlimited",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json
new file mode 100644
index 000000000000..9833d5de0a83
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "59306a29e4bbd510dc24e5f8",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json
new file mode 100644
index 000000000000..c47b61600d79
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json
new file mode 100644
index 000000000000..c47b61600d79
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json
new file mode 100644
index 000000000000..51def46e143d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json
new file mode 100644
index 000000000000..8391eeef7436
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json
new file mode 100644
index 000000000000..7e52ca73be60
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json
new file mode 100644
index 000000000000..4a74e419b4f8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json
new file mode 100644
index 000000000000..6273dc91c38b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "XXXXXXX"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json
new file mode 100644
index 000000000000..2c32c74665a7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json
new file mode 100644
index 000000000000..efda0253ddde
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json
new file mode 100644
index 000000000000..996a15abe6cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json
new file mode 100644
index 000000000000..64b2cc085949
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json
new file mode 100644
index 000000000000..eac6a7c3ded4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n xxx \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json
new file mode 100644
index 000000000000..54b576745bd3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0888cba3f6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json
new file mode 100644
index 000000000000..b6c0a2b7676e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cda",
+ "properties": {
+ "displayName": "GetMostRecentOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd9",
+ "properties": {
+ "displayName": "GetOpenOrders",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdb",
+ "properties": {
+ "displayName": "GetOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd8",
+ "properties": {
+ "displayName": "submitOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json
new file mode 100644
index 000000000000..a4ace8f70931
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json
new file mode 100644
index 000000000000..ce589c840a9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b59475ff190048040001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n "
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json
new file mode 100644
index 000000000000..e626dfce85e0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/apis/products",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json
new file mode 100644
index 000000000000..dfe7fd84b39e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json
new file mode 100644
index 000000000000..8b6b42328b0e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1",
+ "apiRevision": "1",
+ "createdDateTime": "2018-02-01T22:21:20.467Z",
+ "updatedDateTime": "2018-02-01T22:21:20.467Z",
+ "isOnline": true,
+ "isCurrent": true
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json
new file mode 100644
index 000000000000..538964ee2e23
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "59d5b28e1f7fab116402044e",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.swagger.definitions+json"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json
new file mode 100644
index 000000000000..4d84c70df645
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tagDescriptions/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "displayName": "tag1",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json
new file mode 100644
index 000000000000..147c621553a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json
new file mode 100644
index 000000000000..f329e40a10ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs2",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs2",
+ "properties": {
+ "displayName": "api set 2",
+ "versioningScheme": "Query",
+ "description": "Version configuration 2"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json
new file mode 100644
index 000000000000..db0d0849f41a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "a1",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v1",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a7390baa5816a110435aee0",
+ "properties": {
+ "displayName": "Swagger Petstore Extensive",
+ "apiRevision": "1",
+ "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "vvv",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json
new file mode 100644
index 000000000000..b396de8237e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json
new file mode 100644
index 000000000000..e0df828f7b16
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListBackends.json
new file mode 100644
index 000000000000..524eca3e55cc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListBackends.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json
new file mode 100644
index 000000000000..8e1e5ca24b5e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json
new file mode 100644
index 000000000000..4dd72b49e187
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA************************48594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json
new file mode 100644
index 000000000000..ff2a4e716b5f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json
new file mode 100644
index 000000000000..077412fcfbd1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json
new file mode 100644
index 000000000000..b0a623a0bc7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "verbosity": "information",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "azuremonitor",
+ "properties": {
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json
new file mode 100644
index 000000000000..e94db2a0ea4d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json
new file mode 100644
index 000000000000..0ffb5cc2a202
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/hostname1",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "foo.bar.com",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert2",
+ "negotiateClientCertificate": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGateways.json
new file mode 100644
index 000000000000..94ab4066e519
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGateways.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location 1"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw2",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "description": "my gateway 2",
+ "locationData": {
+ "name": "my location 2"
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json
new file mode 100644
index 000000000000..16d826ee40ff
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/kjoshiarmTemplateUser1",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "armTemplateUser1",
+ "properties": {
+ "firstName": "user1",
+ "lastName": "lastname1",
+ "email": "user1@live.com",
+ "state": "active",
+ "registrationDate": "2017-05-31T18:54:41.447Z",
+ "note": "note for user 1",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "user1@live.com"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json
new file mode 100644
index 000000000000..72a61f4553b1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020003",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json
new file mode 100644
index 000000000000..c29bb8a0081e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Google",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Google",
+ "properties": {
+ "clientId": "googleId",
+ "type": "google"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Aad",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Aad",
+ "properties": {
+ "clientId": "aadapplicationid",
+ "type": "aad",
+ "allowedTenants": [
+ "samiraad.onmicrosoft.com"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "aadb2clientId",
+ "type": "aadB2C",
+ "allowedTenants": [
+ "samirtestbc.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_Signup_Default",
+ "signinPolicyName": "B2C_1_Signin_Default"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json
new file mode 100644
index 000000000000..77f71015014f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json
new file mode 100644
index 000000000000..a729ca673b72
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "azuremonitor",
+ "properties": {
+ "loggerType": "azureMonitor",
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/vvktest",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "vvktest",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}"
+ },
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "miaoappinsight",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}"
+ },
+ "isBuffered": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json
new file mode 100644
index 000000000000..eb5c84ef99f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/592f1174cc83890dc4f32686",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "592f1174cc83890dc4f32686",
+ "properties": {
+ "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
+ "value": "propValue",
+ "secret": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
new file mode 100644
index 000000000000..25bb6a21d20f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "contoso@live.com",
+ "properties": {
+ "email": "contoso@live.com"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar!live",
+ "properties": {
+ "email": "foobar!live"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
new file mode 100644
index 000000000000..77906dafa840
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json
new file mode 100644
index 000000000000..45f47aa91f26
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/PurchasePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "PurchasePublisherNotificationMessage",
+ "properties": {
+ "title": "New subscriptions",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewApplicationNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewApplicationNotificationMessage",
+ "properties": {
+ "title": "Application gallery requests",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/BCC",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "BCC",
+ "properties": {
+ "title": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers.",
+ "recipients": {
+ "emails": [],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewIssuePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewIssuePublisherNotificationMessage",
+ "properties": {
+ "title": "New issue or comment",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/AccountClosedPublisher",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "AccountClosedPublisher",
+ "properties": {
+ "title": "Close account message",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/QuotaLimitApproachingPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "QuotaLimitApproachingPublisherNotificationMessage",
+ "properties": {
+ "title": "Approaching subscription quota limit",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json
new file mode 100644
index 000000000000..dd49e8285555
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json
new file mode 100644
index 000000000000..626e102fde6f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ApiManagement/service/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Create a new instance of API Management Service",
+ "description": "Create a new instance of API Management Service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Read metadata for an API Management Service instance",
+ "description": "Read metadata for an API Management Service instance"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/delete",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Delete API Management Service instance",
+ "description": "Delete API Management Service instance"
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.ApiManagement/service/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for API Management service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/tenant/operationResults/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Results of async operations",
+ "operation": "Get operation results or Get operation result",
+ "description": "Get list of operation results or Get result of a specific operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json
new file mode 100644
index 000000000000..57512a308209
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json
new file mode 100644
index 000000000000..d4023ee28171
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "scope": "Api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-basic",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-basic",
+ "properties": {
+ "description": "Authenticate with the backend service using Basic authentication. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-certificate",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-certificate",
+ "properties": {
+ "description": "Authenticate with the backend service using a client certificate. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json
new file mode 100644
index 000000000000..b08a8253d794
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5768181ea40f7eb6c49f6ac7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/products/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json
new file mode 100644
index 000000000000..2cd39b327237
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020001",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020003",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json
new file mode 100644
index 000000000000..91d5451d3f77
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "armTemplateProduct4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json
new file mode 100644
index 000000000000..75609168a95c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/subscriptions/5600b57e7e8880006a070002",
+ "type": "Microsoft.ApiManagement/service/products/subscriptions",
+ "name": "5600b57e7e8880006a070002",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:18.723Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json
new file mode 100644
index 000000000000..6858019dfc09
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "57d2ef278aa04f0888cba3f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json
new file mode 100644
index 000000000000..5e4609befdc1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "kjoshiarmtemplateCert1",
+ "properties": {
+ "displayName": "Dev",
+ "description": "Development Product",
+ "subscriptionRequired": false,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "starter",
+ "properties": {
+ "displayName": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json
new file mode 100644
index 000000000000..37d1513c8655
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json
new file mode 100644
index 000000000000..5b853c1ded22
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "West US",
+ "isMasterRegion": true,
+ "isDeleted": false
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json
new file mode 100644
index 000000000000..c69f25a2e01c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Consumption"
+ },
+ "capacity": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json
new file mode 100644
index 000000000000..87b62d9a1beb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Developer"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "none"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Basic"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Premium"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Isolated"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
new file mode 100644
index 000000000000..b7a67c34de9b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json
new file mode 100644
index 000000000000..0d36f2e5bf5d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "primaryKey": "qr5nbjNoZkgtLojXgU+OA/ntYMgko3XPSVyt+ObwR1sqp2ZkM9tGhwxkeEz7bfAuPS5ss61b2S3ZrZmqa9v3Mw==",
+ "secondaryKey": "2dCJv1CasJl286SZiKxyBFDiIYCUdbwM1YrFNDcFMXCjCKbFzomrGkv+exAbnV5E3DEk91VP4jbeJ2eV/qtejA==",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json
new file mode 100644
index 000000000000..4cdfc7cc390b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAAXXAQ=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-05-27T15:33:55.5426123Z",
+ "gatewayUrl": "https://apimService3.azure-api.net",
+ "portalUrl": "https://apimService3.portal.azure-api.net",
+ "managementApiUrl": "https://apimService3.management.azure-api.net",
+ "scmUrl": "https://apimService3.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "13.88.16.64"
+ ],
+ "additionalLocations": [
+ {
+ "location": "West Europe",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "52.233.184.197"
+ ]
+ }
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.ApiManagement/service/apimService2",
+ "name": "apimService2",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAAXW4U=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "MS",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-05-26T23:55:31.1405115Z",
+ "gatewayUrl": "https://apimService2.azure-api.net",
+ "portalUrl": "https://apimService2.portal.azure-api.net",
+ "managementApiUrl": "https://apimService2.management.azure-api.net",
+ "scmUrl": "https://apimService2.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "13.64.237.151"
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService5",
+ "name": "apimService5",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAAXW5c=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-05-26T18:13:02.0196315Z",
+ "gatewayUrl": "https://apimService5.azure-api.net",
+ "portalUrl": "https://apimService5.portal.azure-api.net",
+ "managementApiUrl": "https://apimService5.management.azure-api.net",
+ "scmUrl": "https://apimService5.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "proxytemplatehostname1.contoso.com",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2018-03-17T21:55:07+00:00",
+ "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19",
+ "subject": "CN=proxytemplatehostname1.contoso.com"
+ }
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxytemplatehostname2.contoso.com",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2018-03-17T21:55:07+00:00",
+ "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19",
+ "subject": "CN=proxytemplatehostname2.contoso.com"
+ }
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxytemplatehostname3.azure-api.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2018-03-17T21:55:07+00:00",
+ "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3",
+ "subject": "CN=proxytemplatehostname3.contoso.com"
+ }
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxytemplatehostname4.azure-api.net",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2018-03-17T21:55:07+00:00",
+ "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3",
+ "subject": "CN=proxytemplatehostname4.contoso.com"
+ }
+ },
+ {
+ "type": "Portal",
+ "hostName": "portaltemplatehostname1.contoso.com",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2018-03-17T21:55:07+00:00",
+ "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19",
+ "subject": "CN=portaltemplatehostname1.contoso.com"
+ }
+ }
+ ],
+ "publicIPAddresses": [
+ "13.93.167.166"
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
new file mode 100644
index 000000000000..c23bcd843757
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Pool": "Perf",
+ "UID": "98f4a706-98c7-4aec-8e39-51ab2e4aaf22"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAhNiA=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-10-13T01:36:27.1706097Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "104.42.221.195"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService2",
+ "name": "apimService2",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Pool": "Endurance",
+ "UID": "07d6dd0e-111f-4b5c-81f3-87e5501d0408"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAhNh4=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-10-13T01:36:27.4003514Z",
+ "gatewayUrl": "https://apimService2.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService2-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService2.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService2.developer.azure-api.net",
+ "managementApiUrl": "https://apimService2.management.azure-api.net",
+ "scmUrl": "https://apimService2.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService2.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "104.42.220.196"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json
new file mode 100644
index 000000000000..a56f8b34e014
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5600b59475ff190048070001",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5600b59475ff190048070001",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:40.3Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/56eaed3dbaf08b06e46d27fe",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "56eaed3dbaf08b06e46d27fe",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "displayName": "Starter",
+ "state": "active",
+ "createdDate": "2016-03-17T17:45:33.837Z",
+ "startDate": "2016-03-17T00:00:00Z",
+ "expirationDate": "2016-04-01T00:00:00Z",
+ "notificationDate": "2016-03-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json
new file mode 100644
index 000000000000..d690c5a922c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTags.json
new file mode 100644
index 000000000000..19333c4aea58
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "tag1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "tag2"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json
new file mode 100644
index 000000000000..138810fa541d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/ApplicationApprovedNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "ApplicationApprovedNotificationMessage",
+ "properties": {
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here .\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json
new file mode 100644
index 000000000000..26014aa0203d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/users/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json
new file mode 100644
index 000000000000..7f3ee6429a8d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57f2af53bb17172280f44057"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "provider": "Microsoft",
+ "id": "086cf9********55ab"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json
new file mode 100644
index 000000000000..d8f0f7486dd2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6ae3",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6ae3",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6ae5",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:39.547Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6b2b",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6b2b",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6b2d",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:41.103Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUsers.json
new file mode 100644
index 000000000000..f888f4e0996d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUsers.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "1",
+ "properties": {
+ "firstName": "Administrator",
+ "lastName": "",
+ "email": "admin@live.com",
+ "state": "active",
+ "registrationDate": "2015-09-22T01:57:39.677Z",
+ "identities": [
+ {
+ "provider": "Azure",
+ "id": "admin@live.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "56eaec62baf08b06e46d27fd",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foo.bar.83@gmail.com",
+ "state": "active",
+ "registrationDate": "2016-03-17T17:41:56.327Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foo.bar.83@gmail.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json
new file mode 100644
index 000000000000..b215e1cdbaca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "propValue"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json
new file mode 100644
index 000000000000..1ad7560c42bf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "oidsecretproviderTemplate2"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json
new file mode 100644
index 000000000000..8dadd7eb8b4e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json
new file mode 100644
index 000000000000..9ec33b58b927
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json
new file mode 100644
index 000000000000..38ef5dff521f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
new file mode 100644
index 000000000000..8bb69e9d27db
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
new file mode 100644
index 000000000000..c01a06d9baf8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
new file mode 100644
index 000000000000..32e37f3b7559
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
new file mode 100644
index 000000000000..0d101b20a8f2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
new file mode 100644
index 000000000000..a93c220bcf7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
new file mode 100644
index 000000000000..c7a607e1c8cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json
new file mode 100644
index 000000000000..c2ba80f1eb19
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "accessKey": "**************************************************",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json
new file mode 100644
index 000000000000..c65b77e59dc8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "name": "apimService1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Valid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json
new file mode 100644
index 000000000000..e295d6734724
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAFfhHY=",
+ "properties": {
+ "publisherEmail": "contoso@live.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "Deleting",
+ "createdAtUtc": "2016-12-20T19:41:21.5823069Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.XX.XXX.168"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/BlockVNETSamir/subnets/default"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
new file mode 100644
index 000000000000..ad944244f2de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimservice1",
+ "name": "apimservice1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAADqC0c=",
+ "properties": {
+ "publisherEmail": "abcs@contoso.com",
+ "publisherName": "contoso publisher",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-02T01:42:09.1268424Z",
+ "gatewayUrl": "https://apimservice1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimservice1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimservice1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimservice1.management.azure-api.net",
+ "scmUrl": "https://apimservice1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "apimgatewaytest.preview.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2019-08-16T16:51:34+00:00",
+ "thumbprint": "B4330123DBAXXXXXXXXX1F35E84493476",
+ "subject": "CN=*.preview.net"
+ },
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "137.XXX.11.74"
+ ],
+ "privateIPAddresses": [
+ "172.XX.0.5"
+ ],
+ "additionalLocations": [
+ {
+ "location": "West US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "40.XXX.79.187"
+ ],
+ "privateIPAddresses": [
+ "10.0.X.6"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub"
+ },
+ "gatewayRegionalUrl": "https://apimservice1-westus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apim-appGateway-vnet/subnets/apim-subnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "Internal",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json
new file mode 100644
index 000000000000..af76a259d10e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "location": "West Europe",
+ "networkStatus": {
+ "dnsServers": [
+ "100.78.90.70"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimgmtsttgzqxxxxxcrsc.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:43.6997938Z",
+ "lastStatusChange": "2019-01-24T21:47:53.851895Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimgmtsttgzqxxxxxcrsc.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:44.0439771Z",
+ "lastStatusChange": "2019-05-02T21:22:50.6835366Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtsttgzqxxxxxcrsc.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:44.8564232Z",
+ "lastStatusChange": "2019-05-02T20:53:26.6260794Z",
+ "resourceType": "Queue",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtsttgzqxxxxxcrsc.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:44.0439771Z",
+ "lastStatusChange": "2019-05-02T20:53:21.6729263Z",
+ "resourceType": "TableStorage",
+ "isOptional": true
+ },
+ {
+ "name": "ftmrcxxx.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:44.1845483Z",
+ "lastStatusChange": "2019-05-02T21:02:00.9466899Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ },
+ {
+ "name": "https://prod3.metrics.nsatc.net:1886/RecoveryService",
+ "status": "failure",
+ "error": "Failed to connect to https://prod3.metrics.nsatc.net:1886/RecoveryService with error Unable to connect to the remote server",
+ "lastUpdated": "2019-12-18T12:04:30.1214083Z",
+ "lastStatusChange": "2019-01-24T22:00:04.2450462Z",
+ "resourceType": "Metrics",
+ "isOptional": false
+ },
+ {
+ "name": "https://westeurope.prod.warm.ingestion.msftcloudes.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:43.8251399Z",
+ "lastStatusChange": "2019-12-18T11:14:43.3860126Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "LocalGatewayRedis",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:50.6376685Z",
+ "lastStatusChange": "2019-12-18T11:14:44.4966742Z",
+ "resourceType": "InternalCache",
+ "isOptional": false
+ },
+ {
+ "name": "prod.warmpath.msftcloudes.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:44.4345454Z",
+ "lastStatusChange": "2019-05-08T00:09:58.031766Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2019-12-18T12:04:58.4815899Z",
+ "lastStatusChange": "2019-12-18T11:24:48.4795085Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ },
+ {
+ "name": "smtpi-db3.msn.com:25028",
+ "status": "failure",
+ "error": "Connection smtpi-db3.msn.com:25028 failed with Error Unable to connect to the remote server",
+ "lastUpdated": "2019-12-18T12:04:30.1526431Z",
+ "lastStatusChange": "2019-12-18T11:23:05.7709057Z",
+ "resourceType": "Email",
+ "isOptional": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json
new file mode 100644
index 000000000000..ef8f5ba53087
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "locationName": "North Central US"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "dnsServers": [
+ "100.78.90.70"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimgmtst6mtxxxxxxxx.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:07.3844516Z",
+ "lastStatusChange": "2018-06-13T20:31:06.6590782Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimgmtst6mtxxxxxxxx.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:08.6657305Z",
+ "lastStatusChange": "2018-06-13T20:31:06.8934611Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6mtxxxxxxxx.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:08.7594708Z",
+ "lastStatusChange": "2018-06-13T20:31:06.7529128Z",
+ "resourceType": "TableStorage",
+ "isOptional": true
+ },
+ {
+ "name": "https://prod3.metrics.nsatc.net:1886/RecoveryService",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:08.6969746Z",
+ "lastStatusChange": "2018-06-13T20:31:07.1125257Z",
+ "resourceType": "Metrics",
+ "isOptional": false
+ },
+ {
+ "name": "n20fxxx.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:09.5094848Z",
+ "lastStatusChange": "2018-06-13T20:31:07.0968711Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2018-06-13T22:41:29.4358865Z",
+ "lastStatusChange": "2018-06-13T20:41:09.8627827Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json
new file mode 100644
index 000000000000..e1aa7fe649ed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json
new file mode 100644
index 000000000000..9438ae63ef41
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West Europe",
+ "etag": "AAAAAAAENfI=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2016-04-12T00:20:15.6018952Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxy.msitesting.net",
+ "keyVaultId": "https://samir-msi-keyvault.vault.azure.net/secrets/msicertificate",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2020-12-18T11:11:47+00:00",
+ "thumbprint": "9833D531D7A45XXXXXA85908BD3692E0BD3F",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "13.94.xxx.188"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "ca1d33f7-xxxx-42ec-xxxx-d526a1ee953a",
+ "tenantId": "72f988bf-xxxx-41af-xxxx-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
+ "principalId": "95194df2-9208-xxxx-xxxx-a10d2af9b5a3",
+ "clientId": "aaff9c7d-xxxx-4db2-xxxx-ab0e3e7806cf"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json
new file mode 100644
index 000000000000..1e05df222ce8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "redirectUri": "https://apimService1.portal.azure-api.net:443/signin-sso?token=1%26201705301929%26eIkr3%2fnfaLs1GVJ0OVbzkJjAcwPFkEZAPM8VUXvXPf7cJ6lWsB9oUwsk2zln9x0KLkn21txCPJWWheSPq7SNeA%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json
new file mode 100644
index 000000000000..7dbc11ad3cce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "6de0a3b2da204e459148d2f6785873f0",
+ "secondaryKey": "c6de00b451f64ea780db1eb8dcf30b62"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
new file mode 100644
index 000000000000..617d9ea77148
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
new file mode 100644
index 000000000000..617d9ea77148
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json
new file mode 100644
index 000000000000..f57fc39bd0de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json
new file mode 100644
index 000000000000..665c90ef358f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "configurationName": "configuration"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "branch": "master",
+ "commitId": "44c29c27a876372e2ea18d9c381cc493a6a89fc5",
+ "isExport": true,
+ "isSynced": false,
+ "isGitEnabled": true,
+ "syncDate": "2016-10-24T19:17:14.3641403Z",
+ "configurationChangeDate": "2017-06-03T00:41:30.9670873Z"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
new file mode 100644
index 000000000000..00f2537b8768
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5a1af4ae2a6d2e0b688d7517",
+ "status": "Failed",
+ "started": "2017-11-26T17:06:54.303Z",
+ "updated": "2017-11-26T17:07:21.777Z",
+ "error": {
+ "code": "ValidationError",
+ "message": "File not found: 'api-management/configuration.json'"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json
new file mode 100644
index 000000000000..38b2292e3272
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5cae98acb597440f487b0d78",
+ "status": "Succeeded",
+ "started": "2019-04-11T01:30:20.883Z",
+ "updated": "2019-04-11T01:30:41.623Z",
+ "resultInfo": "The configuration was successfully saved to master as commit 709678560f72e689e469cf98ba9ba6d1b7736893.",
+ "error": null,
+ "actionLog": []
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json
new file mode 100644
index 000000000000..bfd57da0c36c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af64e2a6d2e0b688d751e?api-version=2020-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5a1af64e2a6d2e0b688d751e",
+ "status": "Succeeded",
+ "started": "2019-04-11T01:30:51.767Z",
+ "updated": "2019-04-11T01:30:57.653Z",
+ "resultInfo": "Validation is successfull",
+ "actionLog": [
+ {
+ "objectType": "ApiSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57914cb351f68a16889be190;rev=1"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5768181ea40f7eb6c49f6ac7"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576819c9a40f7e86289fb3e3"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576819f1a40f7e86289fb6de"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a67a40f7e72b4132522"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a73a40f7e72b413281d"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a7ea40f7e72b4132b18"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681b88a40f7ea0f017f099"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681b9fa40f7ea0f017f682"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bb5a40f7ea0f017fc6b"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bcaa40f7ea0f0180254"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bdfa40f7ea0f018083d"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bf5a40f7ea0f0180e26"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c0ea40f7ea0f018140f"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c26a40f7ea0f01819f8"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c83a40f7e85f44db237"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681cb2a40f7e85f44dbcd0"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681ce3a40f7e85f44dc769"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681d1fa40f7e85f44dd202"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681d60a40f7e85f44ddc9b"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681db4a40f7e85f44de735"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681e11a40f7e85f44df1ce"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681e73a40f7e85f44dfc67"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681f06a40f7e74ec07785c"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5768211fa40f7e74ec07a74a"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576823cfa40f7e74ec07d63a"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5600b57e7e8880006a060001"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5600b57e7e8880006a060002"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json
new file mode 100644
index 000000000000..be7ec949239a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "restore": true
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "location": "South Central US"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3P0=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3T4=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "23.102.171.124"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2020-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json
new file mode 100644
index 000000000000..bab1e87ab463
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API New",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API New",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json
new file mode 100644
index 000000000000..03a72af628b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json
new file mode 100644
index 000000000000..d912b69765b4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "state": "closed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json
new file mode 100644
index 000000000000..a1fa1d1d6621
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "operationId": "operationId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Retrieve resource",
+ "method": "GET",
+ "urlTemplate": "/resource",
+ "templateParameters": [],
+ "request": {
+ "queryParameters": [
+ {
+ "name": "param1",
+ "description": "A sample parameter that is required and has a default value of \"sample\".",
+ "type": "string",
+ "defaultValue": "sample",
+ "required": true,
+ "values": [
+ "sample"
+ ]
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "Returned in all cases.",
+ "representations": [],
+ "headers": []
+ },
+ {
+ "statusCode": 500,
+ "description": "Server Error.",
+ "representations": [],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "sample": "\r\n\r\n \r\n \r\n 1 \r\n \r\n \r\n ",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "sample": "\r\n\r\n \r\n \r\n 1 \r\n \r\n \r\n ",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json
new file mode 100644
index 000000000000..0e335402cf6d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json
new file mode 100644
index 000000000000..06fce04d05c4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json
new file mode 100644
index 000000000000..6903baf6406a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "update",
+ "clientSecret": "updated"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "updated",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json
new file mode 100644
index 000000000000..ecb94af38949
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json
new file mode 100644
index 000000000000..40d8440bb57c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "c1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "useFromLocation": "westindia"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "westindia",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json
new file mode 100644
index 000000000000..f4a4569cf51f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json
new file mode 100644
index 000000000000..82e231c8e2bc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json
new file mode 100644
index 000000000000..5e4fe1fd7249
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "tempgroup",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json
new file mode 100644
index 000000000000..fca16f78b7fe
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "facebook",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "updatedfacebookid",
+ "clientSecret": "updatedfacebooksecret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json
new file mode 100644
index 000000000000..80194d98a0f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "eh1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json
new file mode 100644
index 000000000000..9fc3b7df72a4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2020-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=204"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..a6318c8c4c89
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientSecret": "updatedsecret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json
new file mode 100644
index 000000000000..a46b1b0f03ce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
new file mode 100644
index 000000000000..ac84c9b3432a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
new file mode 100644
index 000000000000..a21c5e5bbe6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
new file mode 100644
index 000000000000..19ff7d253b17
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
new file mode 100644
index 000000000000..c499a5d2e168
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json
new file mode 100644
index 000000000000..b8d6e6d2cc35
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json
new file mode 100644
index 000000000000..052a7d86f32d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/temptag",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "temptag",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json
new file mode 100644
index 000000000000..73720dea26d6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the gallery has been approved. Your application has been published and can be viewed here .\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json
new file mode 100644
index 000000000000..9649d5b2d0bb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "If-Match": "*",
+ "accessName": "access",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json
new file mode 100644
index 000000000000..509719245cb0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
new file mode 100644
index 000000000000..f8a24bd75354
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
new file mode 100644
index 000000000000..3b97a599accb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://apimService1.portal.azure-api.net/signin-sso?token=57127d485157a511ace86ae7%26201706051624%267VY18MlwAom***********2bYr2bDQHg21OzQsNakExQ%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserToken.json
new file mode 100644
index 000000000000..6213f36318c1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserToken.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "userId1718",
+ "parameters": {
+ "properties": {
+ "keyType": "primary",
+ "expiry": "2019-04-21T00:44:24.2845269Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "userId1718&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json
index 1ef1cbc9f30f..8ff951e395bc 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json
@@ -12,12 +12,6 @@
"schema": {
"properties": {
"en_us": {
- "$ref": "#/definitions/metadata"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "metadata": {
"type": "object",
"properties": {
"title": {
@@ -57,7 +51,8 @@
"documentId"
]
}
- }
+ },
+ "additionalProperties": false
},
"version": "1.0.0"
}
@@ -75,12 +70,6 @@
"schema": {
"properties": {
"en_us": {
- "$ref": "#/definitions/metadata"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "metadata": {
"type": "object",
"properties": {
"title": {
@@ -120,7 +109,8 @@
"documentId"
]
}
- }
+ },
+ "additionalProperties": false
},
"version": "1.0.0"
}
@@ -137,12 +127,6 @@
"schema": {
"properties": {
"en_us": {
- "$ref": "#/definitions/metadata"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "metadata": {
"type": "object",
"properties": {
"title": {
@@ -182,7 +166,8 @@
"documentId"
]
}
- }
+ },
+ "additionalProperties": false
},
"version": "1.0.0"
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json
index 236c09de813f..fe3b604cd40c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json
@@ -18,12 +18,6 @@
"schema": {
"properties": {
"en_us": {
- "$ref": "#/definitions/metadata"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "metadata": {
"type": "object",
"properties": {
"title": {
@@ -63,7 +57,8 @@
"documentId"
]
}
- }
+ },
+ "additionalProperties": false
},
"version": "1.0.0"
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json
index 4a008fed1b45..fe7ccc552877 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json
@@ -19,12 +19,6 @@
"schema": {
"properties": {
"en_us": {
- "$ref": "#/definitions/metadata"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "metadata": {
"type": "object",
"properties": {
"title": {
@@ -64,7 +58,8 @@
"documentId"
]
}
- }
+ },
+ "additionalProperties": false
},
"version": "1.0.0"
}
diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..99e3ce1ce490
--- /dev/null
+++ b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,352 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-apimanagement-2020-06-01-preview
+ - tag: schema-apimanagement-2019-12-01-preview
+ - tag: schema-apimanagement-2019-12-01
+ - tag: schema-apimanagement-2019-01-01
+ - tag: schema-apimanagement-2018-06-01-preview
+ - tag: schema-apimanagement-2018-01-01
+ - tag: schema-apimanagement-2017-03-01
+ - tag: schema-apimanagement-2016-10-10
+ - tag: schema-apimanagement-2016-07-07
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-apimanagement-2020-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2020-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2019-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimissues.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimregions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimissues.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimregions.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2018-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2018-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2018-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2018-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
+
+```
+
+### Tag: schema-apimanagement-2017-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2017-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
+
+```
+
+### Tag: schema-apimanagement-2016-10-10 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2016-10-10' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
+
+```
+
+### Tag: schema-apimanagement-2016-07-07 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2016-07-07' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
+ - Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.json
+
+```
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index c9c4710e178d..38edc5918a9e 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -28,10 +28,53 @@ These are the global settings for the ApiManagement API.
title: ApiManagementClient
description: ApiManagement Client
openapi-type: arm
-tag: package-2019-12
+tag: package-preview-2020-06
```
+### Tag: package-preview-2020-06
+
+These settings apply only when `--tag=package-preview-2020-06` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-06'
+input-file:
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json
+```
### Tag: package-2019-12
These settings apply only when `--tag=package-2019-12` is specified on the command line.
@@ -74,6 +117,7 @@ input-file:
- Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
- Microsoft.ApiManagement/stable/2019-12-01/definitions.json
```
+
### Tag: package-preview-2019-12
These settings apply only when `--tag=package-preview-2019-12` is specified on the command line.
@@ -345,6 +389,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js apimanagement/resource-manager
```
## C#
@@ -373,230 +420,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+## AzureResourceSchema
-This block is updated by an automatic script. Edits may be lost!
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-``` 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.ApiManagement/stable/2019-12-01/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimissues.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimregions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/definitions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimissues.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimregions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
- - $(this-folder)/Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.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/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json
new file mode 100644
index 000000000000..e8822e146841
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json
@@ -0,0 +1,1960 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-07-01-preview",
+ "title": "AppConfigurationManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given subscription.",
+ "operationId": "ConfigurationStores_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_List": {
+ "$ref": "./examples/ConfigurationStoresList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given resource group.",
+ "operationId": "ConfigurationStores_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListByResourceGroup": {
+ "$ref": "./examples/ConfigurationStoresListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Gets the properties of the specified configuration store.",
+ "operationId": "ConfigurationStores_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Get": {
+ "$ref": "./examples/ConfigurationStoresGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Creates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreCreationParameters",
+ "in": "body",
+ "description": "The parameters for creating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Create": {
+ "$ref": "./examples/ConfigurationStoresCreate.json"
+ },
+ "ConfigurationStores_Create_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Deletes a configuration store.",
+ "operationId": "ConfigurationStores_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Delete": {
+ "$ref": "./examples/ConfigurationStoresDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Updates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Update": {
+ "$ref": "./examples/ConfigurationStoresUpdate.json"
+ },
+ "ConfigurationStores_Update_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Checks whether the configuration store name is available for use.",
+ "operationId": "Operations_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityParameters",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_CheckNameAvailable": {
+ "$ref": "./examples/CheckNameAvailable.json"
+ },
+ "ConfigurationStores_CheckNameNotAvailable": {
+ "$ref": "./examples/CheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeys": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_ListKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKeyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeys": {
+ "$ref": "./examples/ConfigurationStoresListKeys.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Regenerates an access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_RegenerateKey",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regenerateKeyParameters",
+ "in": "body",
+ "description": "The parameters for regenerating an access key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_RegenerateKey": {
+ "$ref": "./examples/ConfigurationStoresRegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the operations available from this provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByConfigurationStore",
+ "description": "Lists all private endpoint connections for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_List": {
+ "$ref": "./examples/ConfigurationStoresListPrivateEndpointConnections.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetConnection": {
+ "$ref": "./examples/ConfigurationStoresGetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "description": "Update the state of the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/ConfigurationStoresCreatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete": {
+ "$ref": "./examples/ConfigurationStoresDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByConfigurationStore",
+ "description": "Gets the private link resources that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListGroupIds": {
+ "$ref": "./examples/PrivateLinkResourcesListByConfigurationStore.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_Get",
+ "description": "Gets a private link resource that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource group.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_Get": {
+ "$ref": "./examples/PrivateLinkResourceGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/keyValues": {
+ "get": {
+ "tags": [
+ "KeyValues"
+ ],
+ "description": "Lists the key-values for a given configuration store.",
+ "operationId": "KeyValues_ListByConfigurationStore",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValueListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "KeyValues_ListByConfigurationStore": {
+ "$ref": "./examples/ConfigurationStoresListKeyValues.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/keyValues/{keyValueName}": {
+ "get": {
+ "tags": [
+ "KeyValues"
+ ],
+ "description": "Gets the properties of the specified key-value.",
+ "operationId": "KeyValues_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "keyValueName",
+ "in": "path",
+ "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "KeyValues_Get": {
+ "$ref": "./examples/ConfigurationStoresGetKeyValue.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "KeyValues"
+ ],
+ "description": "Creates a key-value.",
+ "operationId": "KeyValues_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "keyValueName",
+ "in": "path",
+ "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "keyValueParameters",
+ "in": "body",
+ "description": "The parameters for creating a key-value.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "KeyValues_CreateOrUpdate": {
+ "$ref": "./examples/ConfigurationStoresCreateKeyValue.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "KeyValues"
+ ],
+ "description": "Deletes a key-value.",
+ "operationId": "KeyValues_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "keyValueName",
+ "in": "path",
+ "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "KeyValues_Delete": {
+ "$ref": "./examples/ConfigurationStoresDeleteKeyValue.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ConfigurationStoreListResult": {
+ "description": "The result of a request to list configuration stores.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStore": {
+ "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information, if configured."
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStoreProperties",
+ "description": "The properties of a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku of the configuration store."
+ }
+ }
+ },
+ "ConfigurationStoreProperties": {
+ "description": "The properties of a configuration store.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the configuration store.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The DNS endpoint where the configuration store API will be available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ },
+ "privateEndpointConnections": {
+ "description": "The list of private endpoint connections that are set up for this resource.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionReference"
+ }
+ },
+ "publicNetworkAccess": {
+ "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "EncryptionProperties": {
+ "type": "object",
+ "description": "The encryption settings for a configuration store.",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "PrivateEndpointConnectionReference": {
+ "type": "object",
+ "description": "A reference to a related private endpoint connection.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "description": "Settings concerning key vault encryption for a configuration store.",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The URI of the key vault key used to encrypt data.",
+ "type": "string"
+ },
+ "identityClientId": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStoreUpdateParameters": {
+ "description": "The parameters for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters",
+ "description": "The properties for updating a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information for the configuration store."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the configuration store."
+ },
+ "tags": {
+ "description": "The ARM resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConfigurationStorePropertiesUpdateParameters": {
+ "description": "The properties for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ }
+ }
+ },
+ "CheckNameAvailabilityParameters": {
+ "description": "Parameters used for checking whether a resource name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name to check for availability.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type to check for name availability.",
+ "enum": [
+ "Microsoft.AppConfiguration/configurationStores"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConfigurationResourceType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NameAvailabilityStatus": {
+ "description": "The result of a request to check the availability of a resource name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value indicating whether the resource name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ApiKeyListResult": {
+ "description": "The result of a request to list API keys.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ApiKey": {
+ "description": "An API key used for authenticating with a configuration store endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The key ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "A name for the key describing its usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key that is used for authentication purposes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionString": {
+ "description": "A connection string that can be used by supporting clients for authentication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time any of the key's properties were modified.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readOnly": {
+ "description": "Whether this key can only be used for read operations.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "RegenerateKeyParameters": {
+ "description": "The parameters used to regenerate an API key.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the key to regenerate.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValueListResult": {
+ "description": "The result of a request to list key-values.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValue": {
+ "description": "The key-value resource along with all resource properties.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/KeyValueProperties",
+ "description": "All key-value properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "KeyValueProperties": {
+ "description": "All key-value properties.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key-value.",
+ "type": "string"
+ },
+ "contentType": {
+ "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "An ETag indicating the state of a key-value within a configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time a modifying operation was performed on the given key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locked": {
+ "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "A dictionary of tags that can help identify what a key-value may be applicable for.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "OperationDefinitionListResult": {
+ "description": "The result of a request to list configuration store operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDefinitionDisplay",
+ "description": "The display information for the configuration store operation."
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
+ }
+ }
+ },
+ "OperationDefinitionDisplay": {
+ "description": "The display information for a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft App Configuration.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Extra Operation properties",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specifications of the operation"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ },
+ "metricSpecifications": {
+ "description": "Specifications of the Metrics for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Specifications of the Metrics for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the metric",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Localized friendly description of the metric",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit that makes sense for the metric",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.",
+ "type": "string"
+ },
+ "internalMetricName": {
+ "description": "Internal metric name.",
+ "type": "string"
+ },
+ "dimensions": {
+ "description": "Dimensions of the metric",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "Specifications of the Dimension of metrics",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the dimension",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the dimension",
+ "type": "string"
+ },
+ "internalName": {
+ "description": "Internal name of the dimension.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "type": "object",
+ "description": "An identity that can be associated with a resource.",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ },
+ "principalId": {
+ "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserIdentity": {
+ "type": "object",
+ "description": "A resource identity that is managed by the user of the service.",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The SKU name of the configuration store.",
+ "type": "string"
+ }
+ },
+ "description": "Describes a configuration store SKU."
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning status of the private endpoint connection.",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource Id for private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ },
+ "actionsRequired": {
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "description": "A list of private link resources.",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "description": "A resource that supports private link capabilities.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Private link resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of required DNS zone names of the private link resource."
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigStoreNameParameter": {
+ "name": "configStoreName",
+ "in": "path",
+ "description": "The name of the configuration store.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9_-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json
new file mode 100644
index 000000000000..60426fdaac53
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-07-01-preview",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "The specified name is available.",
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json
new file mode 100644
index 000000000000..10e2a074401d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-07-01-preview",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The specified name is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json
new file mode 100644
index 000000000000..0e5185e46219
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json
new file mode 100644
index 000000000000..3fa26edbd9ed
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "keyValueName": "myKey$myLabel",
+ "keyValueParameters": {
+ "properties": {
+ "value": "myValue",
+ "tags": {
+ "tag1": "tagValue1",
+ "tag2": "tagValue2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores/keyValues",
+ "properties": {
+ "key": "myKey",
+ "label": "myLabel",
+ "value": "myValue",
+ "contentType": "",
+ "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp",
+ "lastModified": "2020-06-23T06:42:24+00:00",
+ "locked": false,
+ "tags": {
+ "tag1": "tagValue1",
+ "tag2": "tagValue2"
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel",
+ "name": "myKey$myLabel"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..a026b6f66db1
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-07-01-preview",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
new file mode 100644
index 000000000000..79d2c7e12504
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json
new file mode 100644
index 000000000000..34d501fb71f3
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json
new file mode 100644
index 000000000000..6ca474efd8aa
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "keyValueName": "myKey$myLabel"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..ecbb9f0539e4
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json
new file mode 100644
index 000000000000..d41981042b67
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json
new file mode 100644
index 000000000000..356021bb1e5e
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "keyValueName": "myKey$myLabel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores/keyValues",
+ "properties": {
+ "key": "myKey",
+ "label": "myLabel",
+ "value": "myValue",
+ "contentType": "",
+ "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp",
+ "lastModified": "2020-06-23T06:42:24+00:00",
+ "locked": false,
+ "tags": {
+ "tag1": "tagValue1",
+ "tag2": "tagValue2"
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel",
+ "name": "myKey$myLabel"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..9ce8bf38b42b
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json
new file mode 100644
index 000000000000..c1ba19057f81
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json
new file mode 100644
index 000000000000..551d59e280a4
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json
new file mode 100644
index 000000000000..43c85eb330f1
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores/keyValues",
+ "properties": {
+ "key": "myKey",
+ "label": "myLabel",
+ "value": "myValue",
+ "contentType": "",
+ "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp",
+ "lastModified": "2020-06-23T06:42:24+00:00",
+ "locked": false,
+ "tags": {
+ "tag1": "tagValue1",
+ "tag2": "tagValue2"
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel",
+ "name": "myKey$myLabel"
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores/keyValues",
+ "properties": {
+ "key": "myKey2",
+ "label": "myLabel2",
+ "value": "myValue",
+ "contentType": "",
+ "eTag": "IfDxoa8VkXxPsYsemBlxvV0d5fp",
+ "lastModified": "2020-06-23T06:42:24+00:00",
+ "locked": false,
+ "tags": {
+ "tag1": "tagValue1",
+ "tag2": "tagValue2"
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey2$myLabel2",
+ "name": "myKey2$myLabel2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json
new file mode 100644
index 000000000000..f064d35f0ed6
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "CB45E100456857B9",
+ "name": "Secondary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "B3AC55B7E71431A9",
+ "name": "Primary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ },
+ {
+ "id": "E2AF6A9A89DCC177",
+ "name": "Secondary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..36721dcecc33
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json
new file mode 100644
index 000000000000..8176bceba950
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "regenerateKeyParameters": {
+ "id": "439AD01B4BE67DB1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-26T22:59:24.2370906+00:00",
+ "readOnly": false
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json
new file mode 100644
index 000000000000..72378ed10084
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
new file mode 100644
index 000000000000..986fcb164e24
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..73499f7a781c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview",
+ "groupName": "configurationStores"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azconfig.io"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
new file mode 100644
index 000000000000..c1e4767ffe02
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azconfig.io"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
index aae591980eaa..f82beb0b8e13 100644
--- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
@@ -1045,6 +1045,18 @@
"encryption": {
"$ref": "#/definitions/EncryptionProperties",
"description": "The encryption settings of the configuration store."
+ },
+ "publicNetworkAccess": {
+ "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
}
}
},
diff --git a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..8c628ac435fb
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-appconfiguration-2020-06-01
+ - tag: schema-appconfiguration-2019-11-01-preview
+ - tag: schema-appconfiguration-2019-10-01
+ - tag: schema-appconfiguration-2019-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-appconfiguration-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
+
+```
diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md
index 169e554cc7cc..cdcf3496c0b5 100644
--- a/specification/appconfiguration/resource-manager/readme.go.md
+++ b/specification/appconfiguration/resource-manager/readme.go.md
@@ -13,19 +13,29 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-07-01-preview
- tag: package-2020-06-01
- tag: package-2019-11-01-preview
- tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2020-07-01-preview and go
+
+These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-07-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace)
+```
+
### Tag: package-2020-06-01 and go
These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-06-01' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace)
```
### Tag: package-2019-11-01-preview and go
diff --git a/specification/appconfiguration/resource-manager/readme.java.md b/specification/appconfiguration/resource-manager/readme.java.md
index f20aca80ff98..deefcca752c4 100644
--- a/specification/appconfiguration/resource-manager/readme.java.md
+++ b/specification/appconfiguration/resource-manager/readme.java.md
@@ -16,11 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appconfiguration
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-07-01-preview
- tag: package-2020-06-01
- tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2020-07-01-preview and java
+
+These settings apply only when `--tag=package-2020-07-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag)=='package-2020-07-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appconfiguration.v2020_07_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appconfiguration/mgmt-v2020_07_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-06-01 and java
These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index 1368cb987b57..920bdb01695d 100644
--- a/specification/appconfiguration/resource-manager/readme.md
+++ b/specification/appconfiguration/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the AppConfiguration API.
``` yaml
openapi-type: arm
-tag: package-2020-06-01
+tag: package-2020-07-01-preview
+```
+
+### Tag: package-2020-07-01-preview
+
+These settings apply only when `--tag=2020-07-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-01-preview'
+input-file:
+- Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json
```
### Tag: package-2020-06-01
@@ -85,6 +94,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_app_configuration']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js appconfiguration/resource-manager
```
## C#
@@ -125,34 +137,11 @@ directive:
reason: We did consider using an enum instead but found it to not be helpful.
- suppress: EnumInsteadOfBoolean
from: appconfiguration.json
- where: $.definitions.KeyValue.properties.locked
+ where: $.definitions.KeyValueProperties.properties.locked
reason: This is data plane level information proxied through the RP and cannot be changed.
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-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!
+## AzureResourceSchema
-``` 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.AppConfiguration/stable/2020-06-01/appconfiguration.json
- - $(this-folder)/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
- - $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
- - $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
-
-```
-
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/examples/track.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/examples/track.json
new file mode 100644
index 000000000000..dad4cd1bc839
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/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/2020-09-15_Preview/swagger.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json
new file mode 100644
index 000000000000..3c790353ec37
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json
@@ -0,0 +1,1022 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-09-15_Preview",
+ "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/",
+ "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 1 / 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
new file mode 100644
index 000000000000..b1ae6ed86f47
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md
@@ -0,0 +1,44 @@
+# Exporter for Azure Monitor
+> see https://aka.ms/autorest
+
+## 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
+
+The following are the settings for this using this API with AutoRest.
+
+``` yaml
+# specify the version of Autorest to use
+version: 1.0.1-20170402
+
+# (more settings here...)
+```
+
+### Basic Information
+
+These are the global settings for the schemaregistry.
+
+```yaml
+openapi-type: data-plane
+tag: 2020-09-15-preview
+```
+
+### Tag: 2020-09-15-preview
+
+These settings apply only when `--tag=2020-09-15-preview` is specified on the command line.
+
+```yaml $(tag) == '2020-09-15-preview'
+input-file:
+ - preview/2020-09-15_Preview/swagger.json
+```
+
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json
index d54c5d28f134..c82aee93ec99 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json
@@ -12,7 +12,7 @@
"kind": "shared",
"properties": {
"displayName": "Blah Blah Blah",
- "userId": "userId",
+ "sourceId": "Azure Monitor",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
@@ -31,7 +31,7 @@
"name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
"properties": {
"displayName": "Blah Blah Blah",
- "userId": "userId",
+ "sourceId": "Azure Monitor",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
@@ -49,7 +49,7 @@
"name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
"properties": {
"displayName": "Blah Blah Blah",
- "userId": "userId",
+ "sourceId": "Azure Monitor",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json
index e6bd72b08cb7..1a66ad2bece5 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json
@@ -15,7 +15,7 @@
"location": "westus",
"properties": {
"displayName": "My New Workbook",
- "userId": "userId",
+ "sourceId": "Azure Monitor",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json
index 37e97dbfe3a8..dd601dac096e 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json
@@ -18,7 +18,7 @@
"tags": [],
"properties": {
"displayName": "My Workbook 1",
- "userId": "userId",
+ "sourceId": "Azure Monitor",
"serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
@@ -37,7 +37,7 @@
],
"properties": {
"displayName": "My Workbook 2",
- "userId": "userId",
+ "sourceId ": "Azure Monitor",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
"category": "workbook",
"version": "ME",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
index 85fd1577f11b..cdf1e0cec2c2 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
@@ -350,8 +350,7 @@
"required": [
"displayName",
"category",
- "serializedData",
- "userId"
+ "serializedData"
],
"properties": {
"displayName": {
@@ -384,7 +383,12 @@
},
"userId": {
"type": "string",
- "description": "Unique user id of the specific user that owns this workbook."
+ "description": "Unique user id of the specific user that owns this workbook.",
+ "readOnly": true
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "ResourceId for a source resource."
}
}
},
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
index b4e94629052f..6c1383c0621b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries": {
"get": {
"description": "Gets a list of Queries defined within a Log Analytics QueryPack.",
"operationId": "Queries_List",
@@ -65,17 +65,17 @@
"nextLinkName": "nextLink"
},
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -85,7 +85,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/search": {
"post": {
"description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.",
"operationId": "Queries_Search",
@@ -125,17 +125,17 @@
"nextLinkName": "nextLink"
},
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -145,7 +145,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/{id}": {
"get": {
"description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.",
"operationId": "Queries_Get",
@@ -167,17 +167,17 @@
}
],
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A single query contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQuery"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -216,22 +216,71 @@
}
],
"responses": {
+ "200": {
+ "description": "The new or updated query contained within the Log Analytics QueryPack.",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
+ }
+ },
+ "x-ms-examples": {
+ "QueryPut": {
+ "$ref": "./examples/QueryPackQueriesPut.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.",
+ "operationId": "Queries_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
},
+ {
+ "$ref": "#/parameters/QueryPackNameParameter"
+ },
+ {
+ "$ref": "#/parameters/QueryIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "QueryPayload",
+ "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsQueryPackQuery"
+ }
+ }
+ ],
+ "responses": {
"200": {
"description": "The new or updated query contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQuery"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
- "QueryPut": {
- "$ref": "./examples/QueryPackQueriesPut.json"
+ "QueryPatch": {
+ "$ref": "./examples/QueryPackQueriesUpdate.json"
}
}
},
@@ -256,17 +305,17 @@
}
],
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "The query has been successfully removed from the Log Analytics QueryPack"
},
"204": {
"description": "The specified query or associated QueryPack does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -281,16 +330,82 @@
"ErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
"properties": {
"code": {
- "description": "Error code",
+ "description": "The error's code.",
"type": "string"
},
"message": {
- "description": "Error message indicating why the operation failed.",
+ "description": "A human readable error message.",
"type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Indicates which value in 'target' is responsible for the error.",
+ "type": "string"
+ },
+ "resources": {
+ "description": "Indicates resources which were responsible for the error.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error details object",
+ "type": "object"
}
- }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorInfo": {
+ "title": "The code and message for an error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "innererror": {
+ "description": "Inner error details if they exist.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error info object",
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
},
"AzureResourceProperties": {
"properties": {
@@ -308,6 +423,11 @@
"type": "string",
"readOnly": true,
"description": "Azure resource type"
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "Read only system data"
}
},
"description": "An Azure resource QueryPack-Query object"
@@ -330,7 +450,7 @@
"LogAnalyticsQueryPackQueryProperties": {
"description": "Properties that define an Log Analytics QueryPack-Query resource.",
"properties": {
- "queryId": {
+ "id": {
"type": "string",
"description": "The unique ID of your application. This field cannot be changed.",
"readOnly": true
@@ -367,31 +487,46 @@
"readOnly": false,
"description": "Body of the query."
},
- "linkedResourceId": {
- "type": "string",
- "readOnly": false,
- "description": "Resource id associated with the query."
- },
- "categories": {
- "description": "Categories associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "related": {
+ "description": "The related metadata items for the function.",
+ "type": "object",
+ "properties": {
+ "categories": {
+ "description": "The related categories for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceTypes": {
+ "description": "The related resource types for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "solutions": {
+ "description": "The related Log Analytics solutions for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
}
},
- "resourceTypes": {
- "description": "Resource Types associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "tags": {
+ "description": "Tags associated with the query.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
- "labels": {
- "description": "Labels associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "properties": {
+ "type": "object",
+ "description": "Additional properties that can be set for the query."
}
},
"required": [
@@ -402,25 +537,41 @@
"LogAnalyticsQueryPackQuerySearchProperties": {
"description": "Properties that define an Log Analytics QueryPack-Query search properties.",
"properties": {
- "categories": {
- "description": "Categories associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "resourceTypes": {
- "description": "Resource Types associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "related": {
+ "type": "object",
+ "description": "The related metadata items for the function.",
+ "properties": {
+ "categories": {
+ "description": "The related categories for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceTypes": {
+ "description": "The related resource types for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "solutions": {
+ "description": "The related Log Analytics solutions for the function.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
}
},
- "labels": {
- "description": "Labels associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "tags": {
+ "description": "Tags associated with the query.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
}
@@ -443,6 +594,52 @@
"description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPack-Queries where returned in the result set."
}
}
+ },
+ "SystemData": {
+ "description": "Read only system data",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "An identifier for the identity that created the resource"
+ },
+ "createdByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that created the resource"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)"
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "An identifier for the identity that last modified the resource"
+ },
+ "lastModifiedByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that last modified the resource"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
+ }
+ }
+ },
+ "IdentityType": {
+ "description": "The type of identity that creates/modifies resources",
+ "type": "string",
+ "enum": [
+ "user",
+ "application",
+ "managedIdentity",
+ "key"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
}
},
"parameters": {
@@ -455,7 +652,7 @@
"x-ms-parameter-location": "method"
},
"QueryIdParameter": {
- "name": "queryId",
+ "name": "id",
"in": "path",
"required": true,
"type": "string",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
index de48278f9aa3..58d3e127d4db 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
@@ -34,7 +34,44 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/providers/microsoft.insights/queryPacks": {
+ "/providers/Microsoft.Insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available insights REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Insights error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/queryPacks": {
"get": {
"description": "Gets a list of all Log Analytics QueryPacks within a subscription.",
"operationId": "QueryPacks_List",
@@ -70,7 +107,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks": {
"get": {
"description": "Gets a list of Log Analytics QueryPacks within a resource group.",
"operationId": "QueryPacks_ListByResourceGroup",
@@ -109,7 +146,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}": {
"delete": {
"description": "Deletes a Log Analytics QueryPack.",
"operationId": "QueryPacks_Delete",
@@ -285,16 +322,82 @@
"ErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
"properties": {
"code": {
- "description": "Error code",
+ "description": "The error's code.",
"type": "string"
},
"message": {
- "description": "Error message indicating why the operation failed.",
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
"type": "string"
+ },
+ "value": {
+ "description": "Indicates which value in 'target' is responsible for the error.",
+ "type": "string"
+ },
+ "resources": {
+ "description": "Indicates resources which were responsible for the error.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error details object",
+ "type": "object"
}
- }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorInfo": {
+ "title": "The code and message for an error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "innererror": {
+ "description": "Inner error details if they exist.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error info object",
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
},
"QueryPacksResource": {
"properties": {
@@ -408,6 +511,68 @@
"description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set."
}
}
+ },
+ "Operation": {
+ "description": "CDN REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of CDN operations supported by the CDN resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
}
},
"parameters": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
index f2efa8ef8cc2..c5bbf23ef665 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
@@ -4,7 +4,7 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
},
"responses": {
"200": {},
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
index 5d4d7f4415b8..c2666213a43f 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
@@ -4,7 +4,7 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
},
"responses": {
"200": {
@@ -12,9 +12,17 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
"displayName": "Exceptions - New in the last 24 hours",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
"timeModified": "2018-02-14T13:13:19.3381394Z",
"timeCreated": "2018-02-12T11:44:39.2980634Z",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
index 316a829cfdf1..657b2d706e0f 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
@@ -14,8 +14,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "id": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"timeCreated": "2019-08-15T10:29:56.1030254Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:29:56.1030254Z",
@@ -28,8 +36,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"timeCreated": "2019-08-15T10:30:26.7943629Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:26.7943629Z",
@@ -42,8 +58,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"timeCreated": "2019-08-15T10:30:29.4505584Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:29.4505584Z",
@@ -56,8 +80,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "id": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"timeCreated": "2019-08-15T10:30:32.5742324Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:32.5742324Z",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
index 3680b863b5ae..7146d0101472 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
@@ -4,20 +4,25 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"QueryPayload": {
"properties": {
"displayName": "Exceptions - New in the last 24 hours",
"description": "my description",
"body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label",
- "my-other-label"
- ],
- "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
},
@@ -27,22 +32,35 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"timeCreated": "2019-08-15T10:30:32.5742324Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:32.5742324Z",
"displayName": "Exceptions - New in the last 24 hours",
"description": "my description",
"body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label",
- "my-other-label"
- ],
- "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
index 186ce1ec3f41..7a5d2118c10d 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
@@ -7,13 +7,17 @@
"includeBody": true,
"$top": 3,
"QuerySearchProperties": {
- "categories": [
- "other",
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other",
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ]
+ }
}
},
"responses": {
@@ -24,61 +28,106 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "id": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"timeCreated": "2019-08-15T10:29:56.1030254Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:29:56.1030254Z",
"displayName": "Heartbeat_1",
"description": "Thie query takes 10 entries of heartbeat 0",
"body": "Heartbeat | take 1",
- "categories": [
- "other"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
},
{
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"timeCreated": "2019-08-15T10:30:26.7943629Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:26.7943629Z",
"displayName": "Heartbeat_2",
"description": "Thie query takes 10 entries of heartbeat 1",
"body": "Heartbeat | take 1",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
},
{
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"timeCreated": "2019-08-15T10:30:29.4505584Z",
"author": "1809f206-263a-46f7-942d-4572c156b7e7",
"timeModified": "2019-08-15T10:30:29.4505584Z",
"displayName": "Heartbeat_3",
"description": "Thie query takes 10 entries of heartbeat 2",
"body": "Heartbeat | take 1",
- "categories": [
- "other",
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other",
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
],
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
new file mode 100644
index 000000000000..7146d0101472
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
+ "resourceGroupName": "my-resource-group",
+ "queryPackName": "my-querypack",
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "QueryPayload": {
+ "properties": {
+ "displayName": "Exceptions - New in the last 24 hours",
+ "description": "my description",
+ "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
+ "properties": {
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "timeCreated": "2019-08-15T10:30:32.5742324Z",
+ "author": "1809f206-263a-46f7-942d-4572c156b7e7",
+ "timeModified": "2019-08-15T10:30:32.5742324Z",
+ "displayName": "Exceptions - New in the last 24 hours",
+ "description": "my description",
+ "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n",
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..02bcba3635f9
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.insights/webtests",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "webtests",
+ "operation": "CRUD operations on webtest",
+ "description": "CRUD operations on webtest"
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json
new file mode 100644
index 000000000000..d4a592e3395a
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-my-component",
+ "WebTestDefinition": {
+ "location": "South Central US",
+ "kind": "ping",
+ "properties": {
+ "Name": "my-webtest-my-component",
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Configuration": {
+ "WebTest": " "
+ },
+ "Description": "Ping web test alert for mytestwebapp",
+ "Enabled": true,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "Name": "my-webtest-my-component",
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Description": "Ping web test alert for mytestwebapp",
+ "Enabled": true,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json
new file mode 100644
index 000000000000..c1438fa108c3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-01-mywebservice"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json
new file mode 100644
index 000000000000..af81591ea12f
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-01-mywebservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Insights/webtests/my-webtest-01-mywebservice",
+ "name": "my-webtest-01-mywebservice",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Insights/components/mytester": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Web/sites/mytester": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-01-mywebservice",
+ "Name": "mytest-webtest-01",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 900,
+ "Timeout": 30,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ },
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json
new file mode 100644
index 000000000000..033c6ebec7b7
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Name": "my-webtest",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-other-component",
+ "name": "my-webtest-my-other-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "Test": "You can delete this synthetic monitor anytime",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-my-other-component",
+ "Name": "342bccf4-722f-496d-b064-123456789abc",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": false,
+ "Locations": [],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json
new file mode 100644
index 000000000000..b8f6f6901248
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "componentName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Name": "my-webtest",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json
new file mode 100644
index 000000000000..06a2118a79bb
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Name": "my-webtest",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 900,
+ "Timeout": 120,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-other-component",
+ "name": "my-webtest-my-other-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "Test": "You can delete this synthetic monitor anytime",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-other-component": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "SyntheticMonitorId": "my-webtest-my-other-component",
+ "Name": "342bccf4-722f-496d-b064-123456789abc",
+ "Description": "",
+ "Enabled": false,
+ "Frequency": 300,
+ "Timeout": 90,
+ "Kind": "ping",
+ "RetryEnabled": false,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json
new file mode 100644
index 000000000000..4db95f82f2cd
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-my-component",
+ "WebTestDefinition": {
+ "location": "South Central US",
+ "kind": "ping",
+ "properties": {
+ "Configuration": {
+ "WebTest": " "
+ },
+ "Frequency": 600,
+ "Timeout": 30,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ },
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Kind": "ping",
+ "Name": "my-webtest-my-component",
+ "SyntheticMonitorId": "my-webtest-my-component"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource"
+ },
+ "kind": "ping",
+ "properties": {
+ "Name": "my-webtest-my-component",
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Description": "Ping web test alert for mytestwebapp",
+ "Enabled": true,
+ "Frequency": 600,
+ "Timeout": 30,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ },
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json
new file mode 100644
index 000000000000..517323cb7cfe
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-my-component",
+ "WebTestTags": {
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource",
+ "CustomField-01": "This is a random value",
+ "SystemType": "A08",
+ "Color": "AzureBlue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component",
+ "name": "my-webtest-my-component",
+ "type": "Microsoft.Insights/webtests",
+ "location": "southcentralus",
+ "tags": {
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource",
+ "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource",
+ "CustomField-01": "This is a random value",
+ "SystemType": "A08",
+ "Color": "AzureBlue"
+ },
+ "kind": "ping",
+ "properties": {
+ "Name": "my-webtest-my-component",
+ "SyntheticMonitorId": "my-webtest-my-component",
+ "Description": "Ping web test alert for mytestwebapp",
+ "Enabled": true,
+ "Frequency": 600,
+ "Timeout": 30,
+ "Kind": "ping",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ },
+ {
+ "Id": "apac-hk-hkn-azr"
+ }
+ ],
+ "Configuration": {
+ "WebTest": " "
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
new file mode 100644
index 000000000000..cf128cdb0556
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
@@ -0,0 +1,678 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for web test based alerting.",
+ "version": "2020-10-05-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations.",
+ "description": "List the available operations supported by the Microsoft.EventGrid resource provider.",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests": {
+ "get": {
+ "description": "Get all Application Insights web tests defined within a specified resource group.",
+ "operationId": "WebTests_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 web test definitions.",
+ "schema": {
+ "$ref": "#/definitions/webTestListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestListByResourceGroup": {
+ "$ref": "./examples/WebTestListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}": {
+ "get": {
+ "description": "Get a specific Application Insights web test definition.",
+ "operationId": "WebTests_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/WebTestNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ann Application Insights web test definition.",
+ "schema": {
+ "$ref": "#/definitions/WebTest"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestGet": {
+ "$ref": "./examples/WebTestGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates or updates an Application Insights web test definition.",
+ "operationId": "WebTests_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/WebTestNameParameter"
+ },
+ {
+ "name": "WebTestDefinition",
+ "description": "Properties that need to be specified to create or update an Application Insights web test definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebTest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Adding the Application Insights web test was successful. Web test properties are updated and returned.",
+ "schema": {
+ "$ref": "#/definitions/WebTest"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestCreate": {
+ "$ref": "./examples/WebTestCreate.json"
+ },
+ "webTestUpdate": {
+ "$ref": "./examples/WebTestUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Creates or updates an Application Insights web test definition.",
+ "operationId": "WebTests_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/WebTestNameParameter"
+ },
+ {
+ "name": "WebTestTags",
+ "description": "Updated tag information to set into the web test instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updating the Application Insights web test tags was successful. Web test tags are updated and returned with the rest of the WebTest object properties.",
+ "schema": {
+ "$ref": "#/definitions/WebTest"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestUpdateTags": {
+ "$ref": "./examples/WebTestUpdateTagsOnly.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes an Application Insights web test.",
+ "operationId": "WebTests_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebTestNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No content: the request was successful, but the response is empty (the request to delete failed because the specified web test does not exist)."
+ },
+ "200": {
+ "description": "Successful request to delete a web test definition."
+ }
+ },
+ "x-ms-examples": {
+ "webTestDelete": {
+ "$ref": "./examples/WebTestDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests": {
+ "get": {
+ "description": "Get all Application Insights web test alerts definitions within a subscription.",
+ "operationId": "WebTests_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 of 0 or more Application Insights web test definitions.",
+ "schema": {
+ "$ref": "#/definitions/webTestListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestList": {
+ "$ref": "./examples/WebTestList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests": {
+ "get": {
+ "description": "Get all Application Insights web tests defined for the specified component.",
+ "operationId": "WebTests_ListByComponent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ComponentNameParameter"
+ },
+ {
+ "$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 web test definitions.",
+ "schema": {
+ "$ref": "#/definitions/webTestListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "webTestListByComponent": {
+ "$ref": "./examples/WebTestListByComponent.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "WebtestsResource": {
+ "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."
+ },
+ "webTestListResult": {
+ "description": "A list of 0 or more Application Insights WebTest definitions.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Set of Application Insights WebTest definitions.",
+ "items": {
+ "$ref": "#/definitions/WebTest"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The link to get the next part of the returned list of WebTest, should the return set be too large for a single request. May be null."
+ }
+ }
+ },
+ "WebTest": {
+ "description": "An Application Insights WebTest definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WebtestsResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of WebTest that this web test watches. Choices are ping and multistep.",
+ "default": "ping",
+ "enum": [
+ "ping",
+ "multistep"
+ ],
+ "x-ms-enum": {
+ "name": "WebTestKind",
+ "modelAsString": false
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a web test for an Azure resource.",
+ "$ref": "#/definitions/WebTestProperties"
+ }
+ }
+ },
+ "WebTestProperties": {
+ "description": "Metadata describing a web test for an Azure resource.",
+ "required": [
+ "Name",
+ "Kind",
+ "Locations",
+ "SyntheticMonitorId"
+ ],
+ "properties": {
+ "SyntheticMonitorId": {
+ "type": "string",
+ "description": "Unique ID of this WebTest. This is typically the same value as the Name field."
+ },
+ "Name": {
+ "x-ms-client-name": "WebTestName",
+ "type": "string",
+ "description": "User defined name if this WebTest."
+ },
+ "Description": {
+ "type": "string",
+ "description": "User defined description for this WebTest."
+ },
+ "Enabled": {
+ "type": "boolean",
+ "description": "Is the test actively being monitored."
+ },
+ "Frequency": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Interval in seconds between test runs for this WebTest. Default value is 300.",
+ "default": 300
+ },
+ "Timeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Seconds until this WebTest will timeout and fail. Default value is 30.",
+ "default": 30
+ },
+ "Kind": {
+ "x-ms-client-name": "WebTestKind",
+ "type": "string",
+ "description": "The kind of web test this is, valid choices are ping, multistep, basic, and standard.",
+ "default": "ping",
+ "enum": [
+ "ping",
+ "multistep",
+ "basic",
+ "standard"
+ ],
+ "x-ms-enum": {
+ "name": "WebTestKindEnum",
+ "modelAsString": false
+ }
+ },
+ "RetryEnabled": {
+ "type": "boolean",
+ "description": "Allow for retries should this WebTest fail."
+ },
+ "Locations": {
+ "type": "array",
+ "description": "A list of where to physically run the tests from to give global coverage for accessibility of your application.",
+ "items": {
+ "$ref": "#/definitions/WebTestGeolocation"
+ }
+ },
+ "Configuration": {
+ "type": "object",
+ "description": "An XML configuration specification for a WebTest.",
+ "properties": {
+ "WebTest": {
+ "type": "string",
+ "description": "The XML specification of a WebTest to run against an application."
+ }
+ }
+ },
+ "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
+ },
+ "Request": {
+ "type": "object",
+ "description": "The collection of request properties",
+ "properties": {
+ "RequestUrl": {
+ "type": "string",
+ "description": "Url location to test."
+ },
+ "Headers": {
+ "type": "array",
+ "description": "List of headers and their values to add to the WebTest call.",
+ "items": {
+ "$ref": "#/definitions/HeaderField"
+ }
+ },
+ "HttpVerb": {
+ "type": "string",
+ "description": "Http verb to use for this web test."
+ },
+ "RequestBody": {
+ "type": "string",
+ "description": "Base64 encoded string body to send with this web test."
+ },
+ "ParseDependentRequests": {
+ "type": "boolean",
+ "description": "Parse Dependent request for this WebTest."
+ },
+ "FollowRedirects": {
+ "type": "boolean",
+ "description": "Follow redirects for this web test."
+ }
+ }
+ },
+ "ContentValidation": {
+ "type": "object",
+ "description": "The collection of content validation properties",
+ "properties": {
+ "ContentMatch": {
+ "type": "string",
+ "description": "Content to look for in the return of the WebTest."
+ },
+ "IgnoreCase": {
+ "type": "boolean",
+ "description": "When set, this value makes the ContentMatch validation case insensitive."
+ },
+ "PassIfTextFound": {
+ "type": "boolean",
+ "description": "When true, validation will pass if there is a match for the ContentMatch string. If false, validation will fail if there is a match"
+ }
+ }
+ },
+ "SSLCheck": {
+ "type": "boolean",
+ "description": "Checks to see if the SSL cert is still valid."
+ },
+ "SSLCertRemainingLifetimeCheck": {
+ "type": "integer",
+ "format": "int32",
+ "description": "A number of days to check still remain before the the existing SSL cert expires."
+ },
+ "ExpectedHttpStatusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Validate that the WebTest returns the http status code provided."
+ },
+ "IgnoreHttpsStatusCode": {
+ "type": "boolean",
+ "description": "When set, validation will ignore the status code."
+ }
+ }
+ },
+ "WebTestGeolocation": {
+ "description": "Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from.",
+ "type": "object",
+ "properties": {
+ "Id": {
+ "x-ms-client-name": "location",
+ "type": "string",
+ "description": "Location ID for the WebTest to run from."
+ }
+ }
+ },
+ "HeaderField": {
+ "description": "A header to add to the WebTest.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "x-ms-client-name": "headerFieldName",
+ "type": "string",
+ "description": "The name of the header."
+ },
+ "value": {
+ "x-ms-client-name": "headerFieldValue",
+ "type": "string",
+ "description": "The value of the header."
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ComponentNameParameter": {
+ "name": "componentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "WebTestNameParameter": {
+ "name": "webTestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights WebTest resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json
new file mode 100644
index 000000000000..44b33f169d2d
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "subscriptionId": "00000000-0000-0000-0000-00000000",
+ "workbookProperties": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json
new file mode 100644
index 000000000000..0f0066656add
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "201": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json
new file mode 100644
index 000000000000..640ff6b08c01
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "kind": "user",
+ "properties": {
+ "displayName": "My New Workbook",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json
new file mode 100644
index 000000000000..6df92009e06e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "workbookProperties": {
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json
new file mode 100644
index 000000000000..5aca7c5f3e07
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [],
+ "kind": "user",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
new file mode 100644
index 000000000000..3f3d5067ce54
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
@@ -0,0 +1,539 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights private workbook type.",
+ "version": "2015-05-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified resource group and category.",
+ "operationId": "MyWorkbooks_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified subscription and category.",
+ "operationId": "MyWorkbooks_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks/{resourceName}": {
+ "get": {
+ "description": "Get a single private workbook by its resourceName.",
+ "operationId": "MyWorkbooks_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A private workbook definition.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookGet": {
+ "$ref": "./examples/MyWorkbookGet.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a private workbook.",
+ "operationId": "MyWorkbooks_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The private workbook has been successfully deleted."
+ },
+ "204": {
+ "description": "The resource doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookDelete": {
+ "$ref": "./examples/MyWorkbookDelete.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new private workbook.",
+ "operationId": "MyWorkbooks_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "201": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookAdd": {
+ "$ref": "./examples/MyWorkbookAdd.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates a private workbook that has already been added.",
+ "operationId": "MyWorkbooks_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The private workbook definition updated.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookUpdate": {
+ "$ref": "./examples/MyWorkbookUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MyWorkbookResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Azure resource Id",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "type": {
+ "type": "string",
+ "description": "Azure resource type",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "MyWorkbooksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MyWorkbook"
+ },
+ "description": "An array of private workbooks."
+ }
+ },
+ "description": "Workbook list result."
+ },
+ "MyWorkbook": {
+ "description": "An Application Insights private workbook definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MyWorkbookResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "SharedTypeKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/MyWorkbookProperties"
+ }
+ }
+ },
+ "MyWorkbookProperties": {
+ "description": "Properties that contain a private workbook.",
+ "required": [
+ "displayName",
+ "category",
+ "serializedData"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The user-defined name of the private workbook."
+ },
+ "serializedData": {
+ "type": "string",
+ "description": "Configuration of this particular private workbook. Configuration data is a string containing valid JSON"
+ },
+ "version": {
+ "type": "string",
+ "description": "This instance's version of the data model. This can change as new features are added that can be marked private workbook."
+ },
+ "timeModified": {
+ "type": "string",
+ "description": "Date and time in UTC of the last modification that was made to this private workbook definition.",
+ "readOnly": true
+ },
+ "category": {
+ "type": "string",
+ "description": "Workbook category, as defined by the user at creation time."
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of 0 or more tags that are associated with this private workbook definition"
+ },
+ "userId": {
+ "type": "string",
+ "description": "Unique user id of the specific user that owns this private workbook.",
+ "readOnly": true
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "Optional resourceId for a source resource."
+ }
+ }
+ },
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "MyWorkbookError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error message body that will indicate why the operation failed."
+ }
+ },
+ "parameters": {
+ "WorkbookResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "CategoryParameter": {
+ "name": "category",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "workbook",
+ "TSG",
+ "performance",
+ "retention"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ },
+ "description": "Category of workbook to return.",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceIdParameter": {
+ "name": "sourceId",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Azure Resource Id that will fetch all linked workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceIdParameter": {
+ "name": "resourceId",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Azure Resource Id or any target workbook resource id.",
+ "x-ms-parameter-location": "method"
+ },
+ "CanFetchWorkbookContentParameter": {
+ "name": "canFetchContent",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "csv",
+ "description": "Tags presents on each workbook returned.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..12a53d8275a8
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,148 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-insights-2020-06-02-preview
+ - tag: schema-insights-2020-03-01-preview
+ - tag: schema-insights-2020-02-10-preview
+ - tag: schema-insights-2020-02-02-preview
+ - tag: schema-insights-2019-10-17-preview
+ - tag: schema-insights-2019-09-01-preview
+ - tag: schema-insights-2018-06-17-preview
+ - tag: schema-insights-2018-05-01-preview
+ - tag: schema-insights-2017-10-01
+ - tag: schema-insights-2015-05-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-insights-2020-06-02-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-06-02-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
+
+```
+
+### Tag: schema-insights-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+
+```
+
+### Tag: schema-insights-2020-02-10-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-02-10-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+
+```
+
+### Tag: schema-insights-2020-02-02-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-02-02-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+
+```
+
+### Tag: schema-insights-2019-10-17-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
+
+```
+
+### Tag: schema-insights-2019-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2019-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+ - Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+
+```
+
+### Tag: schema-insights-2018-06-17-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2018-06-17-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+
+```
+
+### Tag: schema-insights-2018-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2018-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+ - Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
+
+```
+
+### Tag: schema-insights-2017-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2017-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
+ - Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
+
+```
+
+### Tag: schema-insights-2015-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2015-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
+ - Microsoft.Insights/stable/2015-05-01/favorites_API.json
+ - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
+ - Microsoft.Insights/stable/2015-05-01/webTests_API.json
+ - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
+ - Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/components_API.json
+
+```
diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md
index d3b2a8df018a..1fb4390be7b1 100644
--- a/specification/applicationinsights/resource-manager/readme.go.md
+++ b/specification/applicationinsights/resource-manager/readme.go.md
@@ -41,6 +41,7 @@ input-file:
- ./Microsoft.Insights/stable/2015-05-01/components_API.json
- ./Microsoft.Insights/stable/2015-05-01/webTests_API.json
- ./Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+ - ./Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
override-info:
title: ApplicationInsightsManagementClient
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index eeeb91d57b0e..bd369edd1a93 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the ApplicationInsights API.
title: ApplicationInsightsManagementClient
description: Composite Swagger for Application Insights Management Client
openapi-type: arm
-tag: package-preview-2020-06
+tag: package-preview-2020-10
```
## Suppression
@@ -97,8 +97,23 @@ directive:
where: $.definitions.WorkbookResource.properties.name
from: workbooks_API.json
reason: 'This property is already a part of our API, cannot remove it'
+ - suppress: DefaultErrorResponseSchema
+ from: myworkbooks_API.json
+ reason: 'this error format is already part of the previous api, cannot change it'
+ - suppress: DeleteOperationResponses
+ from: myworkbooks_API.json
+ reason: 'delete API returns empty response and is already part of the previous api, cannot change it'
```
+
+### Tag: package-preview-2020-10
+
+These settings apply only when `--tag=package-preview-2020-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-10'
+input-file:
+ - Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
+```
### Tag: package-preview-2020-06-only
These settings apply only when `--tag=package-preview-2020-06-only` is specified on the command line.
@@ -126,6 +141,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
- Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
@@ -159,6 +175,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
```
### Tag: package-2017-10
@@ -245,6 +262,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
@@ -268,6 +286,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js applicationinsights/resource-manager
```
## Go
@@ -336,50 +357,6 @@ input-file:
- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.Insights/preview/2020-06-02-preview/livetoken_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/favorites_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTests_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/workbooks_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
- - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json
- - $(this-folder)/Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
- - $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
- - $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
- - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
- - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
- - $(this-folder)/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
-
-```
-
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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 72a4748132a2..8787229ed864 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
@@ -2163,6 +2163,39 @@
}
}
},
+ "/providers/Microsoft.AppPlatform/runtimeVersions": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.",
+ "operationId": "RuntimeVersions_ListRuntimeVersions",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the details of all supported deployment runtime versions.",
+ "schema": {
+ "$ref": "#/definitions/AvailableRuntimeVersions"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RuntimeVersions_ListRuntimeVersions": {
+ "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": {
"get": {
"tags": [
@@ -2446,6 +2479,21 @@
"appNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
"type": "string"
+ },
+ "outboundIPs": {
+ "description": "Desired outbound IP resources for Azure Spring Cloud instance.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of public IP addresses."
+ }
+ }
}
}
},
@@ -3191,6 +3239,7 @@
"description": "Type of the source uploaded",
"enum": [
"Jar",
+ "NetCoreZip",
"Source"
],
"type": "string",
@@ -3233,6 +3282,10 @@
"description": "JVM parameter",
"type": "string"
},
+ "netCoreMainEntryPath": {
+ "description": "The path to the .NET executable relative to zip root",
+ "type": "string"
+ },
"instanceCount": {
"format": "int32",
"description": "Instance count, basic tier should be in range (1, 25), standard tier should be in range (1, 500)",
@@ -3250,7 +3303,8 @@
"description": "Runtime version",
"enum": [
"Java_8",
- "Java_11"
+ "Java_11",
+ "NetCore_31"
],
"type": "string",
"x-ms-enum": {
@@ -3283,6 +3337,11 @@
"description": "Discovery status of the deployment instance",
"type": "string",
"readOnly": true
+ },
+ "startTime": {
+ "description": "Start time of the deployment instance",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -3777,6 +3836,57 @@
}
},
"x-ms-external": true
+ },
+ "AvailableRuntimeVersions": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of all supported runtime versions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedRuntimeVersion"
+ },
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "SupportedRuntimeVersion": {
+ "description": "Supported deployment runtime version descriptor.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The raw value which could be passed to deployment CRUD operations.",
+ "enum": [
+ "Java_8",
+ "Java_11",
+ "NetCore_31"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportedRuntimeValue",
+ "modelAsString": true
+ }
+ },
+ "platform": {
+ "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").",
+ "enum": [
+ "Java",
+ ".NET Core"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportedRuntimePlatform",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The detailed version (major.minor) of the platform.",
+ "type": "string"
+ }
+ },
+ "readOnly": true
}
},
"parameters": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json
index 0204c12e6e2b..c29a033df194 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json
@@ -56,7 +56,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
@@ -92,7 +93,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json
index e574a0dea582..19cf2196418a 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json
@@ -35,7 +35,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json
index 221113ccf649..287ffdd7381e 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json
@@ -36,7 +36,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json
index 221113ccf649..287ffdd7381e 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json
@@ -36,7 +36,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json
index 4a778752688a..b0e5592ad49d 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json
@@ -46,7 +46,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
@@ -82,7 +83,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..051d4085549f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "value": "Java_8",
+ "platform": "Java",
+ "version": "8"
+ },
+ {
+ "value": "Java_11",
+ "platform": "Java",
+ "version": "11"
+ },
+ {
+ "value": "NetCore_31",
+ "platform": ".NET Core",
+ "version": "3.1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
index 025ca3152466..136def1b9f26 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json
@@ -54,7 +54,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
@@ -90,7 +98,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
index 282f4e0d1dc3..6df578357701 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -34,7 +34,12 @@
"appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
"serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
"serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
- "appNetworkResourceGroup": "my-app-network-rg"
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ }
},
"serviceId": "12345678abcd1234abcd12345678abcd"
},
@@ -60,7 +65,12 @@
"appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
"serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
"serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
- "appNetworkResourceGroup": "my-app-network-rg"
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ }
},
"serviceId": "12345678abcd1234abcd12345678abcd"
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
index 533a76844cc0..7d8d1007219c 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
@@ -27,7 +27,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
index 15723d2c8147..aff184407138 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json
@@ -28,7 +28,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
index 3d07b6937972..daeaac0d14a6 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json
@@ -27,7 +27,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
index 066d495c9f61..fcf36b043ad1 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json
@@ -54,7 +54,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
@@ -90,7 +98,15 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
new file mode 100644
index 000000000000..5d0e7e8f056c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
@@ -0,0 +1,4461 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-07-01",
+ "title": "AppPlatformManagementClient",
+ "description": "REST API for Azure Spring Cloud"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get a Service and its properties.",
+ "operationId": "Services_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_Get": {
+ "$ref": "./examples/Services_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Service or update an exiting Service.",
+ "operationId": "Services_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "200": {
+ "description": "Success. The response describes the updated Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Services_CreateOrUpdate": {
+ "$ref": "./examples/Services_CreateOrUpdate.json"
+ },
+ "Services_CreateOrUpdate_VNetInjection": {
+ "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to delete a Service.",
+ "operationId": "Services_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "Success. The response indicates the resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Services_Delete": {
+ "$ref": "./examples/Services_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to update an exiting Service.",
+ "operationId": "Services_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Services_Update": {
+ "$ref": "./examples/Services_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List test keys for a Service.",
+ "operationId": "Services_ListTestKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the test keys.",
+ "schema": {
+ "$ref": "#/definitions/TestKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_ListTestKeys": {
+ "$ref": "./examples/Services_ListTestKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Regenerate a test key for a Service.",
+ "operationId": "Services_RegenerateTestKey",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "regenerateTestKeyRequest",
+ "in": "body",
+ "description": "Parameters for the operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateTestKeyRequestPayload"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/TestKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_RegenerateTestKey": {
+ "$ref": "./examples/Services_RegenerateTestKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Disable test endpoint functionality for a Service.",
+ "operationId": "Services_DisableTestEndpoint",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_DisableTestEndpoint": {
+ "$ref": "./examples/Services_DisableTestEndpoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Enable test endpoint functionality for a Service.",
+ "operationId": "Services_EnableTestEndpoint",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TestKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_EnableTestEndpoint": {
+ "$ref": "./examples/Services_EnableTestEndpoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get the config server and its properties.",
+ "operationId": "ConfigServers_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Config Server.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigServers_Get": {
+ "$ref": "./examples/ConfigServers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Update the config server.",
+ "operationId": "ConfigServers_UpdatePut",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "configServerResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Config Server.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "ConfigServers_UpdatePut": {
+ "$ref": "./examples/ConfigServers_UpdatePut.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Update the config server.",
+ "operationId": "ConfigServers_UpdatePatch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "configServerResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Config Server.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "ConfigServers_UpdatePatch": {
+ "$ref": "./examples/ConfigServers_UpdatePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get the Monitoring Setting and its properties.",
+ "operationId": "MonitoringSettings_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Monitoring Setting.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MonitoringSettings_Get": {
+ "$ref": "./examples/MonitoringSettings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Update the Monitoring Setting.",
+ "operationId": "MonitoringSettings_UpdatePut",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "monitoringSettingResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Monitoring Setting.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "MonitoringSettings_UpdatePut": {
+ "$ref": "./examples/MonitoringSettings_UpdatePut.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Update the Monitoring Setting.",
+ "operationId": "MonitoringSettings_UpdatePatch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "monitoringSettingResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Monitoring Setting.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringSettingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "MonitoringSettings_UpdatePatch": {
+ "$ref": "./examples/MonitoringSettings_UpdatePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get an App and its properties.",
+ "operationId": "Apps_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "syncStatus",
+ "in": "query",
+ "description": "Indicates whether sync status",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding App.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Apps_Get": {
+ "$ref": "./examples/Apps_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new App or update an exiting App.",
+ "operationId": "Apps_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "appResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated App.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new App and contains a Location header to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting App is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Apps_CreateOrUpdate": {
+ "$ref": "./examples/Apps_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to delete an App.",
+ "operationId": "Apps_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success. The response indicates the resource doesn't exist."
+ },
+ "200": {
+ "description": "Success. The response indicates the resource is deleted."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Apps_Delete": {
+ "$ref": "./examples/Apps_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to update an exiting App.",
+ "operationId": "Apps_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "appResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated App.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting App is now updating and contains a Location header to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Apps_Update": {
+ "$ref": "./examples/Apps_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in a Service.",
+ "operationId": "Apps_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Apps in the Service.",
+ "schema": {
+ "$ref": "#/definitions/AppResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Apps_List": {
+ "$ref": "./examples/Apps_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get an resource upload URL for an App, which may be artifacts or source archive.",
+ "operationId": "Apps_GetResourceUploadUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the resource upload URL.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUploadDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Apps_GetResourceUploadUrl": {
+ "$ref": "./examples/Apps_GetResourceUploadUrl.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get a Binding and its properties.",
+ "operationId": "Bindings_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BindingNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Binding.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Bindings_Get": {
+ "$ref": "./examples/Bindings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Binding or update an exiting Binding.",
+ "operationId": "Bindings_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BindingNameParameter"
+ },
+ {
+ "name": "bindingResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the created or updated Binding.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new Binding and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Bindings_CreateOrUpdate": {
+ "$ref": "./examples/Bindings_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to delete a Binding.",
+ "operationId": "Bindings_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BindingNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success. The response indicates the resource doesn't exist."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "200": {
+ "description": "Success. The response indicates the resource is deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Bindings_Delete": {
+ "$ref": "./examples/Bindings_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to update an exiting Binding.",
+ "operationId": "Bindings_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BindingNameParameter"
+ },
+ {
+ "name": "bindingResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the updated Binding.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Bindings_Update": {
+ "$ref": "./examples/Bindings_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in an App.",
+ "operationId": "Bindings_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Bindings in the App.",
+ "schema": {
+ "$ref": "#/definitions/BindingResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Bindings_List": {
+ "$ref": "./examples/Bindings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get the certificate resource.",
+ "operationId": "Certificates_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/Certificates_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create or update certificate resource.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "name": "certificateResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the existed certificate updated.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new certificate and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting certificate is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/Certificates_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Delete the certificate resource.",
+ "operationId": "Certificates_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response indicates the certificate deleted."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "No content. The response indicates the certificate doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/Certificates_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List all the certificates of one user.",
+ "operationId": "Certificates_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the custom domain resource list of one application.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Certificates_List": {
+ "$ref": "./examples/Certificates_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Checks that the resource name is valid and is not already in use.",
+ "operationId": "Services_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "the region",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "availabilityParameters",
+ "in": "body",
+ "description": "Parameters supplied to the operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the name availability.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_CheckNameAvailability": {
+ "$ref": "./examples/Services_CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get the custom domain of one lifecycle application.",
+ "operationId": "CustomDomains_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomDomainNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the custom domain.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CustomDomains_Get": {
+ "$ref": "./examples/CustomDomains_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create or update custom domain of one lifecycle application.",
+ "operationId": "CustomDomains_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomDomainNameParameter"
+ },
+ {
+ "name": "domainResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the existed custom domain updated.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new custom domain and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "CustomDomains_CreateOrUpdate": {
+ "$ref": "./examples/CustomDomains_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Delete the custom domain of one lifecycle application.",
+ "operationId": "CustomDomains_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomDomainNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response indicates the custom domain deleted."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "No content. The response indicates the custom domain doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "CustomDomains_Delete": {
+ "$ref": "./examples/CustomDomains_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Update custom domain of one lifecycle application.",
+ "operationId": "CustomDomains_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomDomainNameParameter"
+ },
+ {
+ "name": "domainResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the existed custom domain updated.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "CustomDomains_Update": {
+ "$ref": "./examples/CustomDomains_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List the custom domains of one lifecycle application.",
+ "operationId": "CustomDomains_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the custom domain resource list of one application.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CustomDomains_List": {
+ "$ref": "./examples/CustomDomains_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Check the resource name is valid as well as not in use.",
+ "operationId": "Apps_ValidateDomain",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "validatePayload",
+ "in": "body",
+ "description": "Custom domain payload to be validated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainValidatePayload"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the name is available.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainValidateResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Apps_ValidateDomain": {
+ "$ref": "./examples/Apps_ValidateDomain.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get a Deployment and its properties.",
+ "operationId": "Deployments_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Deployment.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deployments_Get": {
+ "$ref": "./examples/Deployments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Deployment or update an exiting Deployment.",
+ "operationId": "Deployments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "deploymentResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The response describes the new Deployment and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "200": {
+ "description": "Success. The response describes the updated Deployment.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_CreateOrUpdate": {
+ "$ref": "./examples/Deployments_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to delete a Deployment.",
+ "operationId": "Deployments_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response indicates the resource is deleted."
+ },
+ "204": {
+ "description": "Success. The response indicates the resource doesn't exist."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Delete": {
+ "$ref": "./examples/Deployments_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to update an exiting Deployment.",
+ "operationId": "Deployments_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "deploymentResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "200": {
+ "description": "Success. The response describes the updated Deployment.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Update": {
+ "$ref": "./examples/Deployments_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in an App.",
+ "operationId": "Deployments_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "version",
+ "in": "query",
+ "description": "Version of the deployments to be listed",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Deployments in the App.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Deployments_List": {
+ "$ref": "./examples/Deployments_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List deployments for a certain service",
+ "operationId": "Deployments_ListForCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "version",
+ "in": "query",
+ "description": "Version of the deployments to be listed",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Deployments_ListForCluster": {
+ "$ref": "./examples/Deployments_ListForCluster.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Start the deployment.",
+ "operationId": "Deployments_Start",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Start": {
+ "$ref": "./examples/Deployments_Start.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Stop the deployment.",
+ "operationId": "Deployments_Stop",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Stop": {
+ "$ref": "./examples/Deployments_Stop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Restart the deployment.",
+ "operationId": "Deployments_Restart",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Restart": {
+ "$ref": "./examples/Deployments_Restart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get deployment log file URL",
+ "operationId": "Deployments_GetLogFileUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response contains the log file URL.",
+ "schema": {
+ "$ref": "#/definitions/LogFileUrlResponse"
+ }
+ },
+ "204": {
+ "description": "Success. The deployment does not have log file."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deployments_GetLogFileUrl": {
+ "$ref": "./examples/Deployments_GetLogFileUrl.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in a subscription.",
+ "operationId": "Services_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Services_ListBySubscription": {
+ "$ref": "./examples/Services_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in a resource group.",
+ "operationId": "Services_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Services_List": {
+ "$ref": "./examples/Services_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppPlatform/operations": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.AppPlatform provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppPlatform/runtimeVersions": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.",
+ "operationId": "RuntimeVersions_ListRuntimeVersions",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the details of all supported deployment runtime versions.",
+ "schema": {
+ "$ref": "#/definitions/AvailableRuntimeVersions"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RuntimeVersions_ListRuntimeVersions": {
+ "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Lists all of the available skus of the Microsoft.AppPlatform provider.",
+ "operationId": "Skus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourceSkuCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Skus_List": {
+ "$ref": "./examples/Skus_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceResource": {
+ "description": "Service resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ClusterResourceProperties",
+ "description": "Properties of the Service resource",
+ "x-ms-client-flatten": false
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the Service resource"
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The GEO location of the resource.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Tags of the service which is a list of key value pairs that describe the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource Id for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ClusterResourceProperties": {
+ "description": "Service properties payload",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Service",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Deleted",
+ "Succeeded",
+ "Failed",
+ "Moving",
+ "Moved",
+ "MoveFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Network profile of the Service"
+ },
+ "version": {
+ "format": "int32",
+ "description": "Version of the Service",
+ "type": "integer",
+ "readOnly": true
+ },
+ "serviceId": {
+ "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedIdentityProperties": {
+ "description": "Managed identity properties retrieved from ARM request headers.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the managed identity",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned,UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string"
+ }
+ }
+ },
+ "Sku": {
+ "description": "Sku of Azure Spring Cloud",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Sku",
+ "type": "string"
+ },
+ "tier": {
+ "description": "Tier of the Sku",
+ "type": "string"
+ },
+ "capacity": {
+ "format": "int32",
+ "description": "Current capacity of the target resource",
+ "type": "integer"
+ }
+ }
+ },
+ "ConfigServerResource": {
+ "description": "Config Server resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigServerProperties",
+ "description": "Properties of the Config Server resource",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "ConfigServerProperties": {
+ "description": "Config server git properties payload",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "State of the config server.",
+ "enum": [
+ "NotAvailable",
+ "Deleted",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConfigServerState",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error when apply config server settings."
+ },
+ "configServer": {
+ "$ref": "#/definitions/ConfigServerSettings",
+ "description": "Settings of config server."
+ }
+ }
+ },
+ "MonitoringSettingResource": {
+ "description": "Monitoring Setting resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MonitoringSettingProperties",
+ "description": "Properties of the Monitoring Setting resource",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "MonitoringSettingProperties": {
+ "description": "Monitoring Setting properties payload",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "State of the Monitoring Setting.",
+ "enum": [
+ "NotAvailable",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MonitoringSettingState",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error when apply Monitoring Setting changes."
+ },
+ "traceEnabled": {
+ "description": "Indicates whether enable the trace functionality",
+ "type": "boolean"
+ },
+ "appInsightsInstrumentationKey": {
+ "description": "Target application insight instrumentation key",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkProfile": {
+ "description": "Service network profile payload",
+ "type": "object",
+ "properties": {
+ "serviceRuntimeSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "serviceCidr": {
+ "description": "Azure Spring Cloud service reserved CIDR",
+ "type": "string"
+ },
+ "serviceRuntimeNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "outboundIPs": {
+ "description": "Desired outbound IP resources for Azure Spring Cloud instance.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of public IP addresses."
+ }
+ }
+ }
+ }
+ },
+ "Error": {
+ "description": "The error code compose of code and message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The code of error.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of error.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigServerSettings": {
+ "description": "The settings of config server.",
+ "type": "object",
+ "properties": {
+ "gitProperty": {
+ "$ref": "#/definitions/ConfigServerGitProperty",
+ "description": "Property of git environment."
+ }
+ }
+ },
+ "ConfigServerGitProperty": {
+ "description": "Property of git.",
+ "required": [
+ "uri"
+ ],
+ "type": "object",
+ "properties": {
+ "repositories": {
+ "description": "Repositories of git.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GitPatternRepository"
+ }
+ },
+ "uri": {
+ "description": "URI of the repository",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label of the repository",
+ "type": "string"
+ },
+ "searchPaths": {
+ "description": "Searching path of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "Username of git repository basic auth.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of git repository basic auth.",
+ "type": "string"
+ },
+ "hostKey": {
+ "description": "Public sshKey of git repository.",
+ "type": "string"
+ },
+ "hostKeyAlgorithm": {
+ "description": "SshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Private sshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "strictHostKeyChecking": {
+ "description": "Strict host key checking or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "GitPatternRepository": {
+ "description": "Git repository property payload",
+ "required": [
+ "name",
+ "uri"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the repository",
+ "type": "string"
+ },
+ "pattern": {
+ "description": "Collection of pattern of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "uri": {
+ "description": "URI of the repository",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label of the repository",
+ "type": "string"
+ },
+ "searchPaths": {
+ "description": "Searching path of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "Username of git repository basic auth.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of git repository basic auth.",
+ "type": "string"
+ },
+ "hostKey": {
+ "description": "Public sshKey of git repository.",
+ "type": "string"
+ },
+ "hostKeyAlgorithm": {
+ "description": "SshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Private sshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "strictHostKeyChecking": {
+ "description": "Strict host key checking or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "TestKeys": {
+ "description": "Test keys payload",
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "Primary key",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "Secondary key",
+ "type": "string"
+ },
+ "primaryTestEndpoint": {
+ "description": "Primary test endpoint",
+ "type": "string"
+ },
+ "secondaryTestEndpoint": {
+ "description": "Secondary test endpoint",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Indicates whether the test endpoint feature enabled or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "RegenerateTestKeyRequestPayload": {
+ "description": "Regenerate test key request payload",
+ "required": [
+ "keyType"
+ ],
+ "type": "object",
+ "properties": {
+ "keyType": {
+ "description": "Type of the test key",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestKeyType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AppResource": {
+ "description": "App resource payload",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AppResourceProperties",
+ "description": "Properties of the App resource",
+ "x-ms-client-flatten": false
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedIdentityProperties",
+ "description": "The Managed Identity type of the app resource"
+ },
+ "location": {
+ "description": "The GEO location of the application, always the same with its parent resource",
+ "type": "string"
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "AppResourceProperties": {
+ "description": "App resource properties payload",
+ "type": "object",
+ "properties": {
+ "public": {
+ "description": "Indicates whether the App exposes public endpoint",
+ "type": "boolean"
+ },
+ "url": {
+ "description": "URL of the App",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the App",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Creating",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AppResourceProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "activeDeploymentName": {
+ "description": "Name of the active deployment of the App",
+ "type": "string"
+ },
+ "fqdn": {
+ "description": "Fully qualified dns Name.",
+ "type": "string"
+ },
+ "httpsOnly": {
+ "description": "Indicate if only https is allowed.",
+ "type": "boolean"
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "Date time when the resource is created",
+ "type": "string",
+ "readOnly": true
+ },
+ "temporaryDisk": {
+ "$ref": "#/definitions/TemporaryDisk",
+ "description": "Temporary disk settings"
+ },
+ "persistentDisk": {
+ "$ref": "#/definitions/PersistentDisk",
+ "description": "Persistent disk settings"
+ }
+ }
+ },
+ "TemporaryDisk": {
+ "description": "Temporary disk payload",
+ "type": "object",
+ "properties": {
+ "sizeInGB": {
+ "format": "int32",
+ "description": "Size of the temporary disk in GB",
+ "maximum": 5.0,
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "mountPath": {
+ "description": "Mount path of the temporary disk",
+ "type": "string"
+ }
+ }
+ },
+ "PersistentDisk": {
+ "description": "Persistent disk payload",
+ "type": "object",
+ "properties": {
+ "sizeInGB": {
+ "format": "int32",
+ "description": "Size of the persistent disk in GB",
+ "maximum": 50.0,
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "usedInGB": {
+ "format": "int32",
+ "description": "Size of the used persistent disk in GB",
+ "maximum": 50.0,
+ "minimum": 0.0,
+ "type": "integer",
+ "readOnly": true
+ },
+ "mountPath": {
+ "description": "Mount path of the persistent disk",
+ "type": "string"
+ }
+ }
+ },
+ "AppResourceCollection": {
+ "description": "Object that includes an array of App resources and a possible link for next set",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of App resources",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppResource"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceUploadDefinition": {
+ "description": "Resource upload definition payload",
+ "type": "object",
+ "properties": {
+ "relativePath": {
+ "description": "Source relative path",
+ "type": "string"
+ },
+ "uploadUrl": {
+ "description": "Upload URL",
+ "type": "string"
+ }
+ }
+ },
+ "BindingResource": {
+ "description": "Binding resource payload",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BindingResourceProperties",
+ "description": "Properties of the Binding resource",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "BindingResourceProperties": {
+ "description": "Binding resource properties payload",
+ "type": "object",
+ "properties": {
+ "resourceName": {
+ "description": "The name of the bound resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceType": {
+ "description": "The standard Azure resource type of the bound resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceId": {
+ "description": "The Azure resource id of the bound resource",
+ "type": "string"
+ },
+ "key": {
+ "description": "The key of the bound resource",
+ "type": "string"
+ },
+ "bindingParameters": {
+ "description": "Binding parameters of the Binding resource",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "generatedProperties": {
+ "description": "The generated Spring Boot property file for this binding. The secret will be deducted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "description": "Creation time of the Binding resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "description": "Update time of the Binding resource",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BindingResourceCollection": {
+ "description": "Object that includes an array of Binding resources and a possible link for next set",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of Binding resources",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BindingResource"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateResource": {
+ "description": "Certificate resource payload.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties",
+ "description": "Properties of the certificate resource payload.",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "CertificateProperties": {
+ "description": "Certificate resource payload.",
+ "required": [
+ "vaultUri",
+ "keyVaultCertName"
+ ],
+ "type": "object",
+ "properties": {
+ "thumbprint": {
+ "description": "The thumbprint of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vaultUri": {
+ "description": "The vault uri of user key vault.",
+ "type": "string"
+ },
+ "keyVaultCertName": {
+ "description": "The certificate name of key vault.",
+ "type": "string"
+ },
+ "certVersion": {
+ "description": "The certificate version of key vault.",
+ "type": "string"
+ },
+ "issuer": {
+ "description": "The issuer of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "issuedDate": {
+ "description": "The issue date of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expirationDate": {
+ "description": "The expiration date of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "activateDate": {
+ "description": "The activate date of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subjectName": {
+ "description": "The subject name of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsNames": {
+ "description": "The domain list of certificate.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CertificateResourceCollection": {
+ "description": "Collection compose of certificate resources list and a possible link for next page.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The certificate resources list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to next page of certificate list.",
+ "type": "string"
+ }
+ }
+ },
+ "NameAvailabilityParameters": {
+ "description": "Name availability parameters payload",
+ "required": [
+ "type",
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the resource to check name availability",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name to be checked",
+ "type": "string"
+ }
+ }
+ },
+ "NameAvailability": {
+ "description": "Name availability result payload",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates whether the name is available",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Reason why the name is not available",
+ "type": "string"
+ },
+ "message": {
+ "description": "Message why the name is not available",
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "CustomDomainResource": {
+ "description": "Custom domain resource payload.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CustomDomainProperties",
+ "description": "Properties of the custom domain resource.",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "CustomDomainProperties": {
+ "description": "Custom domain of app resource payload.",
+ "type": "object",
+ "properties": {
+ "thumbprint": {
+ "description": "The thumbprint of bound certificate.",
+ "type": "string"
+ },
+ "appName": {
+ "description": "The app name of domain.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certName": {
+ "description": "The bound certificate name of domain.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainResourceCollection": {
+ "description": "Collection compose of a custom domain resources list and a possible link for next page.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The custom domain resources list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomDomainResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to next page of custom domain list.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainValidatePayload": {
+ "description": "Custom domain validate payload.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name to be validated",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainValidateResult": {
+ "description": "Validation result for custom domain.",
+ "type": "object",
+ "properties": {
+ "isValid": {
+ "description": "Indicates if domain name is valid.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "Message of why domain name is invalid.",
+ "type": "string"
+ }
+ }
+ },
+ "DeploymentResource": {
+ "description": "Deployment resource payload",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DeploymentResourceProperties",
+ "description": "Properties of the Deployment resource",
+ "x-ms-client-flatten": false
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the Deployment resource"
+ }
+ }
+ },
+ "DeploymentResourceProperties": {
+ "description": "Deployment resource properties payload",
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/UserSourceInfo",
+ "description": "Uploaded source information of the deployment."
+ },
+ "appName": {
+ "description": "App name of the deployment",
+ "type": "string",
+ "readOnly": true
+ },
+ "deploymentSettings": {
+ "$ref": "#/definitions/DeploymentSettings",
+ "description": "Deployment settings of the Deployment"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Deployment",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeploymentResourceProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the Deployment",
+ "enum": [
+ "Unknown",
+ "Stopped",
+ "Running",
+ "Failed",
+ "Allocating",
+ "Upgrading",
+ "Compiling"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeploymentResourceStatus",
+ "modelAsString": true
+ }
+ },
+ "active": {
+ "description": "Indicates whether the Deployment is active",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "createdTime": {
+ "format": "date-time",
+ "description": "Date time when the resource is created",
+ "type": "string",
+ "readOnly": true
+ },
+ "instances": {
+ "description": "Collection of instances belong to the Deployment",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentInstance"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "UserSourceInfo": {
+ "description": "Source information for a deployment",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the source uploaded",
+ "enum": [
+ "Jar",
+ "NetCoreZip",
+ "Source"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserSourceType",
+ "modelAsString": true
+ }
+ },
+ "relativePath": {
+ "description": "Relative path of the storage which stores the source",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the source",
+ "type": "string"
+ },
+ "artifactSelector": {
+ "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project.",
+ "type": "string"
+ }
+ }
+ },
+ "DeploymentSettings": {
+ "description": "Deployment settings payload",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "format": "int32",
+ "description": "Required CPU, basic tier should be 1, standard tier should be in range (1, 4)",
+ "default": 1,
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int32",
+ "description": "Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8)",
+ "default": 1,
+ "type": "integer"
+ },
+ "jvmOptions": {
+ "description": "JVM parameter",
+ "type": "string"
+ },
+ "netCoreMainEntryPath": {
+ "description": "The path to the .NET executable relative to zip root",
+ "type": "string"
+ },
+ "environmentVariables": {
+ "description": "Collection of environment variables",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runtimeVersion": {
+ "description": "Runtime version",
+ "enum": [
+ "Java_8",
+ "Java_11",
+ "NetCore_31"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RuntimeVersion",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DeploymentInstance": {
+ "description": "Deployment instance payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the deployment instance",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the deployment instance",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "Failed reason of the deployment instance",
+ "type": "string",
+ "readOnly": true
+ },
+ "discoveryStatus": {
+ "description": "Discovery status of the deployment instance",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time of the deployment instance",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DeploymentResourceCollection": {
+ "description": "Object that includes an array of App resources and a possible link for next set",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of Deployment resources",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "LogFileUrlResponse": {
+ "description": "Log file URL payload",
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "URL of the log file",
+ "type": "string"
+ }
+ }
+ },
+ "ServiceResourceList": {
+ "description": "Object that includes an array of Service resources and a possible link for next set",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of Service resources",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Extra Operation properties",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specifications of the operation"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ },
+ "metricSpecifications": {
+ "description": "Specifications of the Metrics for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Specifications of the Metrics for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the metric",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Localized friendly description of the metric",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit that makes sense for the metric",
+ "type": "string"
+ },
+ "category": {
+ "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.",
+ "type": "string"
+ },
+ "supportedAggregationTypes": {
+ "description": "Supported aggregation types",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Supported time grain types",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.",
+ "type": "boolean"
+ },
+ "dimensions": {
+ "description": "Dimensions of the metric",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "Specifications of the Dimension of metrics",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the dimension",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the dimension",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceSkuCollection": {
+ "description": "Object that includes an array of Azure Spring Cloud SKU and a possible link for next set",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resource SKU",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSku"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceSku": {
+ "description": "Describes an available Azure Spring Cloud SKU.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "Gets the type of resource the SKU applies to.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Gets the name of SKU.",
+ "type": "string"
+ },
+ "tier": {
+ "description": "Gets the tier of SKU.",
+ "type": "string"
+ },
+ "capacity": {
+ "$ref": "#/definitions/SkuCapacity",
+ "description": "Gets the capacity of SKU."
+ },
+ "locations": {
+ "description": "Gets the set of locations that the SKU is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locationInfo": {
+ "description": "Gets a list of locations and availability zones in those locations where the SKU is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuLocationInfo"
+ }
+ },
+ "restrictions": {
+ "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuRestrictions"
+ }
+ }
+ }
+ },
+ "SkuCapacity": {
+ "description": "The SKU capacity",
+ "required": [
+ "minimum"
+ ],
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int32",
+ "description": "Gets or sets the minimum.",
+ "type": "integer"
+ },
+ "maximum": {
+ "format": "int32",
+ "description": "Gets or sets the maximum.",
+ "type": "integer"
+ },
+ "default": {
+ "format": "int32",
+ "description": "Gets or sets the default.",
+ "type": "integer"
+ },
+ "scaleType": {
+ "description": "Gets or sets the type of the scale.",
+ "enum": [
+ "None",
+ "Manual",
+ "Automatic"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuScaleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ResourceSkuLocationInfo": {
+ "description": "Locations and availability zones where the SKU is available",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "Gets location of the SKU",
+ "type": "string"
+ },
+ "zones": {
+ "description": "Gets list of availability zones where the SKU is supported.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "zoneDetails": {
+ "description": "Gets details of capabilities available to a SKU in specific zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuZoneDetails"
+ }
+ }
+ }
+ },
+ "ResourceSkuRestrictions": {
+ "description": "Restrictions where the SKU cannot be used",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Gets the type of restrictions. Possible values include: 'Location', 'Zone'",
+ "enum": [
+ "Location",
+ "Zone"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Gets the value of restrictions. If the restriction type is set to\r\nlocation. This would be different locations where the SKU is restricted.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "restrictionInfo": {
+ "$ref": "#/definitions/ResourceSkuRestrictionInfo",
+ "description": "Gets the information about the restriction where the SKU cannot be used."
+ },
+ "reasonCode": {
+ "description": "Gets the reason for restriction. Possible values include: 'QuotaId', 'NotAvailableForSubscription'",
+ "enum": [
+ "QuotaId",
+ "NotAvailableForSubscription"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsReasonCode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ResourceSkuZoneDetails": {
+ "description": "Details of capabilities available to a SKU in specific zones",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets the set of zones that the SKU is available in with the\r\nspecified capabilities.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "capabilities": {
+ "description": "Gets a list of capabilities that are available for the SKU in the\r\nspecified list of zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuCapabilities"
+ }
+ }
+ }
+ },
+ "ResourceSkuRestrictionInfo": {
+ "description": "Information about the restriction where the SKU cannot be used",
+ "type": "object",
+ "properties": {
+ "locations": {
+ "description": "Gets locations where the SKU is restricted",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "zones": {
+ "description": "Gets list of availability zones where the SKU is restricted.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ResourceSkuCapabilities": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets an invariant to describe the feature.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Gets an invariant if the feature is measured by quantity.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "description": "An error response from the service.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the particular error. For example, the name of the property in error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "x-ms-external": true
+ },
+ "AvailableRuntimeVersions": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of all supported runtime versions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedRuntimeVersion"
+ },
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ },
+ "SupportedRuntimeVersion": {
+ "description": "Supported deployment runtime version descriptor.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The raw value which could be passed to deployment CRUD operations.",
+ "enum": [
+ "Java_8",
+ "Java_11",
+ "NetCore_31"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportedRuntimeValue",
+ "modelAsString": true
+ }
+ },
+ "platform": {
+ "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").",
+ "enum": [
+ "Java",
+ ".NET Core"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportedRuntimePlatform",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The detailed version (major.minor) of the platform.",
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2020-07-01"
+ ]
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServiceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "description": "The name of the Service resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AppNameParameter": {
+ "name": "appName",
+ "in": "path",
+ "description": "The name of the App resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNameParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "description": "The name of the Deployment resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BindingNameParameter": {
+ "name": "bindingName",
+ "in": "path",
+ "description": "The name of the Binding resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CustomDomainNameParameter": {
+ "name": "domainName",
+ "in": "path",
+ "description": "The name of the custom domain resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateNameParameter": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json
new file mode 100644
index 000000000000..00f59981c650
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "appResource": {
+ "properties": {
+ "public": true,
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "identity": null,
+ "location": "eastus"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Creating",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Updating",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json
new file mode 100644
index 000000000000..0bfc11e59bf0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json
new file mode 100644
index 000000000000..7e1677db0f60
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json
new file mode 100644
index 000000000000..285d26814c78
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777",
+ "uploadUrl": "https://springcloudstorageaccount.file.core.windows.net/bd172614181f42e2853f6fd90029cda8/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777?sv=2018-03-28&sr=f&sig=SampleSignature&se=2019-08-01T10%3A42%3A21Z&sp=w"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json
new file mode 100644
index 000000000000..68aa39ece302
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json
new file mode 100644
index 000000000000..fd3aeaa6e3da
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "appResource": {
+ "properties": {
+ "public": true,
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": null,
+ "tenantId": null
+ },
+ "location": "eastus"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Updating",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json
new file mode 100644
index 000000000000..0a7ada238503
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "validatePayload": {
+ "name": "mydomain.io"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..30bb8b7d997a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "bindingResource": {
+ "properties": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "key": "xxxx",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": null,
+ "createdAt": null,
+ "updatedAt": null
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json
new file mode 100644
index 000000000000..e0b92880ff3e
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json
new file mode 100644
index 000000000000..b6e130ba0fd5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json
new file mode 100644
index 000000000000..9208dc0b71ce
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json
new file mode 100644
index 000000000000..c212241e6ccb
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "bindingResource": {
+ "properties": {
+ "key": "xxxx",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": null,
+ "createdAt": null,
+ "updatedAt": null
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..ec952d2d82f0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "certificateResource": {
+ "properties": {
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json
new file mode 100644
index 000000000000..e74094f64531
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json
new file mode 100644
index 000000000000..ce7f31491cad
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json
new file mode 100644
index 000000000000..35219afb6d4c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json
new file mode 100644
index 000000000000..b88fa1b13577
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json
new file mode 100644
index 000000000000..6e47a4170864
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "configServerResource": {
+ "properties": {
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json
new file mode 100644
index 000000000000..6e47a4170864
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "configServerResource": {
+ "properties": {
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json
new file mode 100644
index 000000000000..5857185150a6
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..673bdf1a9b61
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..3bb445de3742
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json
new file mode 100644
index 000000000000..0bdbfc51f763
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json
new file mode 100644
index 000000000000..a2b61973f8a2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json
new file mode 100644
index 000000000000..786a5f55af53
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "instances": null
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Creating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Updating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json
new file mode 100644
index 000000000000..8bec5172fcf5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json
new file mode 100644
index 000000000000..9a999a403ffc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json
new file mode 100644
index 000000000000..13a30ad15e17
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://spring.blob.core.windows.net/logs/110ec0c337154d45b1f01daf2196c0bf/b58b0cb4ecdea3c65311b4ca8833fe47b6ae0a7500f87a8eb31e8379d3fe48f1-2019081312-42b7b90c-f108-4c09-b33d-1ea134f57f23?sv=2018-03-28&sr=b&sig=example-signature&se=2019-08-14T09%3A43%3A52Z&sp=r"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json
new file mode 100644
index 000000000000..35ff6dcf1ee7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json
new file mode 100644
index 000000000000..35ff6dcf1ee7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json
new file mode 100644
index 000000000000..18c9f75950da
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "instances": null
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "provisioningState": "Updating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json
new file mode 100644
index 000000000000..12cec1860a38
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json
new file mode 100644
index 000000000000..5f431e420527
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json
new file mode 100644
index 000000000000..5f431e420527
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json
new file mode 100644
index 000000000000..0789ea9adfe3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AppPlatform/Spring/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Azure Distributed Managed Service for Spring",
+ "resource": "Managed Applications",
+ "operation": "Create or Update Managed Applications",
+ "description": "Create or Update Managed Applications"
+ },
+ "origin": "user,system",
+ "properties": {
+ "serviceSpecification": null
+ }
+ }
+ ],
+ "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..1023f932df8c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "value": "Java_8",
+ "platform": "Java",
+ "version": "8"
+ },
+ {
+ "value": "Java_11",
+ "platform": "Java",
+ "version": "11"
+ },
+ {
+ "value": "NetCore_31",
+ "platform": ".NET Core",
+ "version": "3.1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json
new file mode 100644
index 000000000000..a82bdc11a5a7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "location": "eastus",
+ "availabilityParameters": {
+ "type": "Microsoft.AppPlatform/Spring",
+ "name": "myservice"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The name is already used."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json
new file mode 100644
index 000000000000..6837e4ff3174
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..b5e932ff99b3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg"
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ }
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ }
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ }
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json
new file mode 100644
index 000000000000..e1bb8539d801
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json
new file mode 100644
index 000000000000..47002475fca4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json
new file mode 100644
index 000000000000..9836b1d2ae6f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json
new file mode 100644
index 000000000000..0af48fc29a7b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json
new file mode 100644
index 000000000000..0e6a9a8d02ed
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json
new file mode 100644
index 000000000000..c8bfadb985b7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json
new file mode 100644
index 000000000000..9836b1d2ae6f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json
new file mode 100644
index 000000000000..36ce27ed48c3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "regenerateTestKeyRequest": {
+ "keyType": "Primary"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json
new file mode 100644
index 000000000000..0404e9a95e93
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json
new file mode 100644
index 000000000000..e5f7d5765289
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Spring",
+ "name": "B0",
+ "tier": "Basic",
+ "capacity": {
+ "minimum": 1,
+ "maximum": 20,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "locations": [
+ "eastus"
+ ],
+ "locationInfo": [
+ {
+ "location": "eastus",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7c633bc07810
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-appplatform-2020-07-01
+ - tag: schema-appplatform-2019-05-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-appplatform-2020-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appplatform-2020-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
+
+```
+
+### Tag: schema-appplatform-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appplatform-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
+
+```
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index 2406d387ba5f..3c5820e1c257 100644
--- a/specification/appplatform/resource-manager/readme.go.md
+++ b/specification/appplatform/resource-manager/readme.go.md
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and go
+
+These settings apply only when `--tag=package-2020-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace)
+```
+
### Tag: package-2019-05-01-preview and go
These settings apply only when `--tag=package-2019-05-01-preview --go` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md
index 789e47493698..1f6d7300efe1 100644
--- a/specification/appplatform/resource-manager/readme.java.md
+++ b/specification/appplatform/resource-manager/readme.java.md
@@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and java
+
+These settings apply only when `--tag=package-2020-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appplatform.v2020_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2020_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2019-05-01-preview and java
These settings apply only when `--tag=package-2019-05-01-preview --java` is specified on the command line.
@@ -30,4 +44,4 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2019_05_01_preview
regenerate-manager: true
generate-interface: true
-```
\ No newline at end of file
+```
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
index 2a1d933b2910..37a91547fa09 100644
--- a/specification/appplatform/resource-manager/readme.md
+++ b/specification/appplatform/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for AppPlatform.
-
-
---
+
## Getting Started
+
To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,18 +15,18 @@ To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autor
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the AppPlatform API.
``` yaml
openapi-type: arm
-tag: package-2019-05-01-preview
+tag: package-2020-07
```
### Suppression
@@ -41,8 +41,23 @@ directive:
from: appplatform.json
where: $.definitions.Dimension.properties.toBeExportedForShoebox
reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics
+ - suppress: R3021
+ from: appplatform.json
+ reason: The resource type name 'Spring' is a trademark so cannot be changed to be camel-case
+ #where:
+ # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default"]
+ # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default"]
```
+
+### Tag: package-2020-07
+
+These settings apply only when `--tag=package-2020-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07'
+input-file:
+ - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
+```
### Tag: package-2019-05-01-preview
These settings apply only when `--tag=package-2019-05-01-preview` is specified on the command line.
@@ -53,8 +68,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -64,6 +79,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform
- repo: azure-sdk-for-java
- repo: azure-sdk-for-net
- repo: azure-sdk-for-node
@@ -72,9 +89,11 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js appplatform/resource-manager
```
-
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -98,27 +117,7 @@ csharp:
clear-output-folder: true
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
+## AzureResourceSchema
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md
index 5e8d38718850..ddb776efd495 100644
--- a/specification/appplatform/resource-manager/readme.python.md
+++ b/specification/appplatform/resource-manager/readme.python.md
@@ -10,18 +10,40 @@ python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: azure.mgmt.appplatform
package-name: azure-mgmt-appplatform
- package-version: 0.2.0
clear-output-folder: true
+ no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2020-07
+ - tag: package-2019-05-01-preview
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+### Tag: package-2020-07 and python
+
+These settings apply only when `--tag=package-2020-07 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(python)
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform
+ namespace: azure.mgmt.appplatform.v2020_07_01
+ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Tag: package-2019-05-01-preview and python
+
+These settings apply only when `--tag=package-2019-05-01-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-01-preview' && $(python)
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform
+ namespace: azure.mgmt.appplatform.v2019_05_01_preview
+ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2019_05_01_preview
```
+
diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md
index 827034b2477a..7a1b560cd736 100644
--- a/specification/appplatform/resource-manager/readme.ruby.md
+++ b/specification/appplatform/resource-manager/readme.ruby.md
@@ -12,9 +12,20 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and ruby
+
+These settings apply only when `--tag=package-2020-07 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(ruby)
+namespace: "Azure::AppPlatform::Mgmt::V2020_07_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib
+```
+
### Tag: package-2019-05-01-preview and ruby
These settings apply only when `--tag=package-2019-05-01-preview --ruby` is specified on the command line.
diff --git a/specification/attestation/data-plane/readme.go.md b/specification/attestation/data-plane/readme.go.md
new file mode 100644
index 000000000000..a99623b96edf
--- /dev/null
+++ b/specification/attestation/data-plane/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: attestation
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-09-preview
+```
+
+### Tag: package-2018-09-preview and go
+
+These settings apply only when `--tag=package-2018-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/2018-09-01-preview/$(namespace)
+```
diff --git a/specification/attestation/data-plane/readme.md b/specification/attestation/data-plane/readme.md
index f382f8bb7b01..c0dfa3499891 100644
--- a/specification/attestation/data-plane/readme.md
+++ b/specification/attestation/data-plane/readme.md
@@ -51,6 +51,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-go
```
## Python
@@ -72,7 +73,9 @@ csharp:
clear-output-folder: true
```
+## Go
+See configuration in [readme.go.md](./readme.go.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/attestation/resource-manager/readme.azureresourceschema.md b/specification/attestation/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..990f22190468
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-attestation-2018-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-attestation-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-attestation-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+
+```
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index 44902dfd9d1a..68adc3fb05b6 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -51,6 +51,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js attestation/resource-manager
```
## Python
@@ -80,27 +83,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.trenton.md](./readme.trenton.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
index c6733a4380c0..478c98bc5686 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
@@ -539,7 +539,7 @@
},
"conditionVersion": {
"type": "string",
- "description": "Version of the condition. Currently accepted values are '1.0' or '2.0'"
+ "description": "Version of the condition. Currently accepted value is '2.0'"
}
},
"description": "Role assignment properties with scope."
@@ -625,11 +625,11 @@
},
"condition": {
"type": "string",
- "description": "The conditions on the role assignment"
+ "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'"
},
"conditionVersion": {
"type": "string",
- "description": "Version of the condition"
+ "description": "Version of the condition. Currently accepted value is '2.0'"
}
},
"required": [
diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..de63c8f3bf21
--- /dev/null
+++ b/specification/authorization/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,102 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-authorization-2020-04-01-preview
+ - tag: schema-authorization-2018-09-01-preview
+ - tag: schema-authorization-2018-07-01-preview
+ - tag: schema-authorization-2018-01-01-preview
+ - tag: schema-authorization-2017-10-01-preview
+ - tag: schema-authorization-2015-07-01
+ - tag: schema-authorization-2015-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-authorization-2020-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2020-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2018-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json
+
+```
+
+### Tag: schema-authorization-2018-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json
+
+```
+
+### Tag: schema-authorization-2017-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2017-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2015-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2015-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json
+
+```
+
+### Tag: schema-authorization-2015-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2015-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
+
+```
diff --git a/specification/authorization/resource-manager/readme.csharp.md b/specification/authorization/resource-manager/readme.csharp.md
index 0a92e47c547e..d51272335e2e 100644
--- a/specification/authorization/resource-manager/readme.csharp.md
+++ b/specification/authorization/resource-manager/readme.csharp.md
@@ -108,4 +108,16 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Authorization/Management.
batch:
- tag: profile-hybrid-2019-03-01
+ ```
+
+ ### Profile: hybrid_2020_09_01
+
+These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line.
+
+ ``` yaml $(csharp-profile)=='hybrid_2020_09_01'
+namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Authorization
+output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Authorization/Management.Authorization/Generated
+
+batch:
+ - tag: profile-hybrid-2020-09-01
```
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index 575b2c656dde..8e52bc8d5fd6 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the Authorization API.
``` yaml
openapi-type: arm
-tag: package-2020-04-preview
+tag: package-2020-04-01-preview-only
```
## Suppression
@@ -69,17 +69,12 @@ directive:
reason: for this case the result of the proposed change would resemble a boolean anyways
```
-### Tag: package-2020-04-preview
+### Tag: package-2020-04-01-preview-only
These settings apply only when `--tag=package-2020-04-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2020-04-preview'
+``` yaml $(tag) == 'package-2020-04-01-preview-only'
input-file:
-- Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
-- Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
-- Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json
-- Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json
-- Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json
- Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
```
@@ -210,6 +205,19 @@ input-file:
- Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
```
+### Tag: profile-hybrid-2020-09-01
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
+Creating this tag to pick proper resources from the hybrid profile.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01'
+input-file:
+- Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
+- Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
+- Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
+- Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
+```
+
---
# Code Generation
@@ -232,6 +240,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_authorization']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js authorization/resource-manager
```
## Go
@@ -242,38 +253,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-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!
+## AzureResourceSchema
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
- - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
- - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
- - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
- - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
- - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
- - $(this-folder)/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.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/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md
index 70e14ea1a327..56c486beb56b 100644
--- a/specification/authorization/resource-manager/readme.python.md
+++ b/specification/authorization/resource-manager/readme.python.md
@@ -21,6 +21,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-04-01-preview-only
- tag: package-2018-09-01-preview-only
- tag: package-2018-07-01-preview-only
- tag: package-2018-01-01-preview-only
@@ -28,6 +29,16 @@ batch:
- tag: package-2015-06-01-preview
```
+### Tag: package-2020-04-01-preview-only and python
+
+These settings apply only when `--tag=package-2020-04-01-preview-only --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04-01-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.authorization.v2020_04_01_preview
+ output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_04_01_preview
+```
+
### Tag: package-2018-09-01-preview-only and python
These settings apply only when `--tag=package-2018-09-01-preview-only --python` is specified on the command line.
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
new file mode 100644
index 000000000000..3f181fed7963
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
@@ -0,0 +1,1371 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-30-preview",
+ "title": "Automanage"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "description": "Creates an Automanage Account",
+ "x-ms-examples": {
+ "Create or update Automanage account": {
+ "$ref": "./examples/createOrUpdateAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "Parameters supplied to create or update Automanage account."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The Automanage account was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "200": {
+ "description": "OK. The Automanage account was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "description": "Get information about a Automanage account",
+ "x-ms-examples": {
+ "Get an Automanage account": {
+ "$ref": "./examples/getAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage account name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The Automanage account was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "description": "Delete a Automanage account",
+ "x-ms-examples": {
+ "Delete an Automanage account": {
+ "$ref": "./examples/deleteAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "description": "Updates an Automanage Account",
+ "x-ms-examples": {
+ "Update Automanage account": {
+ "$ref": "./examples/updateAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountUpdate"
+ },
+ "description": "Parameters supplied to update Automanage account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The Automanage account was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "Retrieve a list of Automanage accounts within a given resource group",
+ "x-ms-examples": {
+ "List Automanage accounts by resource group": {
+ "$ref": "./examples/listAccountsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of Automanage accounts.",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListBySubscription",
+ "description": "Retrieve a list of Automanage accounts within a subscription",
+ "x-ms-examples": {
+ "List Automanage accounts by subscription": {
+ "$ref": "./examples/listAccountsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of Automanage accounts.",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and Automanage configuration profile",
+ "x-ms-examples": {
+ "Create or update configuration profile assignment": {
+ "$ref": "./examples/createOrUpdateConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment. Only default is supported."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Parameters supplied to the create or update configuration profile assignment."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Get",
+ "description": "Get information about a configuration profile assignment",
+ "x-ms-examples": {
+ "Get a configuration profile assignment": {
+ "$ref": "./examples/getConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile assignment name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Delete",
+ "description": "Delete a configuration profile assignment",
+ "x-ms-examples": {
+ "Delete an configuration profile assignment": {
+ "$ref": "./examples/deleteConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_List",
+ "description": "Get list of configuration profile assignments",
+ "x-ms-examples": {
+ "Get a configuration profile assignment": {
+ "$ref": "./examples/listConfigurationProfileAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_ListBySubscription",
+ "description": "Get list of configuration profile assignments under a given subscription",
+ "x-ms-examples": {
+ "List configuration profile assignments": {
+ "$ref": "./examples/listConfigurationProfileAssignmentsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_CreateOrUpdate",
+ "description": "Creates a configuration profile preference",
+ "x-ms-examples": {
+ "Create or update configuration profile preference": {
+ "$ref": "./examples/createOrUpdateConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ },
+ "description": "Parameters supplied to create or update configuration profile preference."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The configuration profile preference was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile preference was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Get",
+ "description": "Get information about a configuration profile preference",
+ "x-ms-examples": {
+ "Get a configuration profile": {
+ "$ref": "./examples/getConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile preference name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile preference was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Delete",
+ "description": "Delete a configuration profile preference",
+ "x-ms-examples": {
+ "Delete a configuration profile preference": {
+ "$ref": "./examples/deleteConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Update",
+ "description": "Updates a configuration profile preference",
+ "x-ms-examples": {
+ "Create or update configuration profile preference": {
+ "$ref": "./examples/updateConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceUpdate"
+ },
+ "description": "Parameters supplied to create or update configuration profile preference."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile preference was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences": {
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_ListByResourceGroup",
+ "description": "Retrieve a list of configuration profile preferences within a given resource group",
+ "x-ms-examples": {
+ "List configuration profile preferences by resource group": {
+ "$ref": "./examples/listConfigurationProfilePreferencesByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of configuration profile preferences.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfilePreferences": {
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_ListBySubscription",
+ "description": "Retrieve a list of configuration profile preferences within a subscription",
+ "x-ms-examples": {
+ "List configuration profile preferences by subscription": {
+ "$ref": "./examples/listConfigurationProfilePreferencesBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of configuration profile preferences.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Automanage REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available Automanage REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "Account": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/AccountIdentity",
+ "description": "The identity of the Automanage account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Definition of the Automanage account."
+ },
+ "AccountUpdate": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/AccountIdentity",
+ "description": "The identity of the Automanage account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Definition of the Automanage account."
+ },
+ "AccountIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of Automanage account identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the Automanage account."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Identity for the Automanage account."
+ },
+ "AccountList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "Result of the list Account operation."
+ }
+ },
+ "description": "The response of the list Account operation."
+ },
+ "ConfigurationProfileAssignmentList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Result of the list configuration profile assignment operation."
+ }
+ },
+ "description": "The response of the list configuration profile assignment operation."
+ },
+ "ConfigurationProfileAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfileAssignmentProperties",
+ "description": "Properties of the configuration profile assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Configuration profile assignment is an association between a VM and automanage profile configuration."
+ },
+ "ConfigurationProfileAssignmentProperties": {
+ "properties": {
+ "configurationProfile": {
+ "type": "string",
+ "description": "A value indicating configuration profile.",
+ "x-ms-enum": {
+ "name": "configurationProfile",
+ "modelAsString": true
+ },
+ "enum": [
+ "Azure virtual machine best practices – Dev/Test",
+ "Azure virtual machine best practices – Production"
+ ]
+ },
+ "targetId": {
+ "type": "string",
+ "description": "The target VM resource URI"
+ },
+ "accountId": {
+ "type": "string",
+ "description": "The Automanage account ARM Resource URI"
+ },
+ "configurationProfilePreferenceId": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The configuration profile custom preferences ARM resource URI"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of onboarding, which only appears in the response.",
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Created"
+ ]
+ },
+ "compliance": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance",
+ "description": "The configuration setting for the configuration profile."
+ }
+ },
+ "description": "Automanage configuration profile assignment properties."
+ },
+ "ConfigurationProfileAssignmentCompliance": {
+ "properties": {
+ "updateStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of compliance, which only appears in the response.",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "updateStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Created"
+ ]
+ }
+ },
+ "description": "The compliance status for the configuration profile assignment."
+ },
+ "ConfigurationProfilePreference": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfilePreferenceProperties",
+ "description": "Properties of the configuration profile preference."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Definition of the configuration profile preference."
+ },
+ "ConfigurationProfilePreferenceUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfilePreferenceProperties",
+ "description": "Properties of the configuration profile preference."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Definition of the configuration profile preference."
+ },
+ "ConfigurationProfilePreferenceProperties": {
+ "properties": {
+ "vmBackup": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup",
+ "description": "The custom preferences for Azure VM Backup."
+ },
+ "antiMalware": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware",
+ "description": "The custom preferences for Azure Antimalware."
+ }
+ },
+ "description": "Automanage configuration profile preference properties."
+ },
+ "ConfigurationProfilePreferenceVmBackup": {
+ "properties": {
+ "timeZone": {
+ "type": "string",
+ "description": "TimeZone optional input as string. For example: Pacific Standard Time",
+ "x-nullable": true
+ },
+ "instantRpRetentionRangeInDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Instant RP retention policy range in days"
+ },
+ "retentionPolicy": {
+ "type": "string",
+ "description": "Retention policy with the details on backup copy retention ranges.",
+ "x-nullable": true
+ },
+ "schedulePolicy": {
+ "type": "string",
+ "description": "Backup schedule specified as part of backup policy.",
+ "x-nullable": true
+ }
+ },
+ "description": "Automanage configuration profile VM Backup preferences."
+ },
+ "ConfigurationProfilePreferenceAntiMalware": {
+ "properties": {
+ "enableRealTimeProtection": {
+ "type": "string",
+ "description": "Enables or disables Real Time Protection",
+ "x-ms-enum": {
+ "name": "enableRealTimeProtection",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-nullable": true
+ },
+ "exclusions": {
+ "type": "object",
+ "description": "Extensions, Paths and Processes that must be excluded from scan",
+ "x-nullable": true
+ },
+ "runScheduledScan": {
+ "type": "string",
+ "description": "Enables or disables a periodic scan for antimalware",
+ "x-ms-enum": {
+ "name": "runScheduledScan",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-nullable": true
+ },
+ "scanType": {
+ "type": "string",
+ "description": "Type of scheduled scan",
+ "x-ms-enum": {
+ "name": "scanType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Quick",
+ "Full"
+ ],
+ "x-nullable": true
+ },
+ "scanDay": {
+ "type": "string",
+ "description": "Schedule scan settings day",
+ "x-nullable": true
+ },
+ "scanTimeInMinutes": {
+ "type": "string",
+ "description": "Schedule scan settings time",
+ "x-nullable": true
+ }
+ },
+ "description": "Automanage configuration profile Antimalware preferences."
+ },
+ "ConfigurationProfilePreferenceList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ },
+ "description": "Result of the list ConfigurationProfilePreference operation."
+ }
+ },
+ "description": "The response of the list ConfigurationProfilePreference operation."
+ },
+ "Operation": {
+ "description": "Automanage REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: For ex. providers/Microsoft.Automanage/configurationProfileAssignments/write or read",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "string"
+ },
+ "display": {
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Automanage",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: For ex. ",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description about operation.",
+ "type": "string"
+ }
+ },
+ "description": "Provider, Resource, Operation and description values."
+ },
+ "properties": {
+ "properties": {
+ "statusCode": {
+ "description": "Service provider: Microsoft.Automanage",
+ "type": "string"
+ }
+ },
+ "x-ms-client-flatten": true,
+ "description": "Provider, Resource, Operation and description values."
+ }
+ }
+ },
+ "OperationList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Automanage operations supported by the Automanage resource provider."
+ }
+ },
+ "description": "The response model for the list of Automanage operations"
+ },
+ "UpdateResource": {
+ "description": "Represents an update resource",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "VmNameParameter": {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json
new file mode 100644
index 000000000000..5924745ee5a0
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroup",
+ "api-version": "2020-06-30-preview",
+ "accountName": "account",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..dd5bc5c6af8e
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "properties": {
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Created"
+ },
+ "provisioningState": "Created"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json
new file mode 100644
index 000000000000..845e5c65ab72
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json
new file mode 100644
index 000000000000..61e21fb2d14f
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "accountName": "automanageAccount",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..68b206134c71
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json
new file mode 100644
index 000000000000..7dd4fa94ccd8
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json
new file mode 100644
index 000000000000..161bf418c5b1
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "accountName": "automanageAccount",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "automanageAccount",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..a526f23ecbac
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json
new file mode 100644
index 000000000000..0bc637534924
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfile",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json
new file mode 100644
index 000000000000..a566a1b6b69b
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "automanageAccount1",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount1",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "properties": {
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ {
+ "name": "automanageAccount2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount2",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "properties": {
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json
new file mode 100644
index 000000000000..80109d475b76
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "automanageAccount1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Automanage/accounts/automanageAccount1",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ },
+ {
+ "name": "automanageAccount2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Automanage/accounts/automanageAccount2",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json
new file mode 100644
index 000000000000..6761b5da71d9
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
new file mode 100644
index 000000000000..8a696d3e500c
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "vmName": "myVMName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2",
+ "configurationProfile": "Azure virtual machine best practices – Production",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json
new file mode 100644
index 000000000000..2907215f8756
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference1",
+ "name": "defaultProfilePreference1",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference2",
+ "name": "defaultProfilePreference2",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json
new file mode 100644
index 000000000000..2d9d70165376
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile1",
+ "name": "defaultProfile1",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configurationProfileType": "Azure Best Practices - Prod",
+ "preferences": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile2",
+ "name": "defaultProfile2",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configurationProfileType": "Azure Best Practices - TestDev",
+ "preferences": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "False"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json
new file mode 100644
index 000000000000..8dc4d3b633ca
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "description": "Create new configuration profile assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "description": "Get configuration profile assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/accounts/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/accounts",
+ "operation": "Microsoft.Automanage/accounts/write",
+ "description": "Create new Automanage Account."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/accounts/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/accounts",
+ "operation": "Microsoft.Automanage/accounts/read",
+ "description": "Get Automanage Account."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfilePreferences/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfilePreferences",
+ "operation": "Microsoft.Automanage/configurationProfilePreferences/write",
+ "description": "Create new Automanage Configuration Profile Preference."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfilePreferences/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfilePreferences",
+ "operation": "Microsoft.Automanage/configurationProfilePreferences/read",
+ "description": "Get Automanage Configuration Profile Preference."
+ },
+ "properties": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json
new file mode 100644
index 000000000000..74a8f9fcc48a
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroup",
+ "api-version": "2020-06-30-preview",
+ "accountName": "account",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json
new file mode 100644
index 000000000000..cfd4c01306c7
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/readme.az.md b/specification/automanage/resource-manager/readme.az.md
new file mode 100644
index 000000000000..6b796af97d11
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.az.md
@@ -0,0 +1,12 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: automanage
+ namespace: azure.mgmt.automanage
+ package-name: azure-mgmt-automanage
+az-output-folder: $(azure-cli-extension-folder)/src/automanage
+python-sdk-output-folder: "$(az-output-folder)/azext_automanage/vendored_sdks/automanage"
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.azureresourceschema.md b/specification/automanage/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4a51ecd85b66
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-automanage-2020-06-30-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-automanage-2020-06-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automanage-2020-06-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
+
+```
diff --git a/specification/automanage/resource-manager/readme.cli.md b/specification/automanage/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..e17b8f756ff1
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.cli.md
@@ -0,0 +1,24 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+cli:
+ cli-name: automanage
+ package-name: azure-mgmt-automanage
+ namespace: azure.mgmt.automanage
+ test-scenario:
+ - name: Create or update an Automanage account
+ - name: Create or update configuration profile assignment
+ - name: Create or update configuration profile preference
+ - name: Delete an Automanage account
+ - name: Delete a configuration profile assignment
+ - name: Delete a configuration profile preference
+ - name: Get an Automanage account
+ - name: Get a configuration profile assignment
+ - name: Get a configuration profile preference
+ - name: Lists Automanage account
+ - name: Lists configuration profile assignment
+ - name: Lists configuration profile preference
+ - name: Operations
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.go.md b/specification/automanage/resource-manager/readme.go.md
new file mode 100644
index 000000000000..16cdc4f4805e
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: automanage
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-06-30-preview
+```
+
+### Tag: package-2020-06-30-preview and go
+
+These settings apply only when `--tag=package-2020-06-30-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-30-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-30-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md
new file mode 100644
index 000000000000..4e54a1d44f3c
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.md
@@ -0,0 +1,88 @@
+# Automanage
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Automanage.
+
+---
+
+## Getting Started
+
+To build the SDK for Automanage, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the Automanage API.
+
+``` yaml
+title: AutomanageClient
+description: Automanage Client
+openapi-type: arm
+tag: package-2020-06-30-preview
+```
+
+### Tag: package-2020-06-30-preview
+
+These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30-preview'
+input-file:
+- Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: UniqueResourcePaths
+ from: automanage.json
+ where: $.paths
+ reason: 'Microsoft.Automanage is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/1283'
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_automanage']
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.Automanage
+ output-folder: $(csharp-sdks-folder)/automanage/Microsoft.Azure.Management.Automanage/src/Generated
+ clear-output-folder: true
+```
+
diff --git a/specification/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md
new file mode 100644
index 000000000000..caf9a094f45f
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.python.md
@@ -0,0 +1,40 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python) && !$(track2)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.automanage
+ package-name: azure-mgmt-automanage
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-automanage
+package-version: 0.1.0-preview
+clear-output-folder: true
+no-namespace-folders: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage
+```
+
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
+```
diff --git a/specification/automanage/resource-manager/readme.typescript.md b/specification/automanage/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..d856dfb1f954
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-automanage"
+ output-folder: "$(typescript-sdks-folder)/sdk/automanage/arm-automanage"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/automation/resource-manager/readme.azureresourceschema.md b/specification/automation/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b70f177b4995
--- /dev/null
+++ b/specification/automation/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,101 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-automation-2020-01-13-preview
+ - tag: schema-automation-2018-06-30
+ - tag: schema-automation-2018-01-15
+ - tag: schema-automation-2017-05-15-preview
+ - tag: schema-automation-2015-10-31
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-automation-2020-01-13-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2020-01-13-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json
+ - Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json
+
+```
+
+### Tag: schema-automation-2018-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2018-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2018-06-30/runbook.json
+ - Microsoft.Automation/stable/2018-06-30/python2package.json
+
+```
+
+### Tag: schema-automation-2018-01-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2018-01-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2018-01-15/dscNode.json
+ - Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
+ - Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
+ - Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json
+
+```
+
+### Tag: schema-automation-2017-05-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2017-05-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json
+ - Microsoft.Automation/preview/2017-05-15-preview/job.json
+
+```
+
+### Tag: schema-automation-2015-10-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2015-10-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2015-10-31/account.json
+ - Microsoft.Automation/stable/2015-10-31/certificate.json
+ - Microsoft.Automation/stable/2015-10-31/connection.json
+ - Microsoft.Automation/stable/2015-10-31/connectionType.json
+ - Microsoft.Automation/stable/2015-10-31/credential.json
+ - Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
+ - Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
+ - Microsoft.Automation/stable/2015-10-31/dscNode.json
+ - Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
+ - Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
+ - Microsoft.Automation/stable/2015-10-31/job.json
+ - Microsoft.Automation/stable/2015-10-31/jobSchedule.json
+ - Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
+ - Microsoft.Automation/stable/2015-10-31/module.json
+ - Microsoft.Automation/stable/2015-10-31/runbook.json
+ - Microsoft.Automation/stable/2015-10-31/schedule.json
+ - Microsoft.Automation/stable/2015-10-31/variable.json
+ - Microsoft.Automation/stable/2015-10-31/webhook.json
+ - Microsoft.Automation/stable/2015-10-31/watcher.json
+
+```
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index e3416d6946aa..673bab83d496 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -238,6 +238,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_automation']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js automation/resource-manager
```
@@ -299,60 +302,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/account.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/certificate.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/connection.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/connectionType.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/credential.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscNode.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/job.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/jobSchedule.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/module.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/runbook.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/schedule.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/variable.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/webhook.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json
- - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/job.json
- - $(this-folder)/Microsoft.Automation/stable/2015-10-31/watcher.json
- - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNode.json
- - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
- - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
- - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json
- - $(this-folder)/Microsoft.Automation/stable/2018-06-30/runbook.json
- - $(this-folder)/Microsoft.Automation/stable/2018-06-30/python2package.json
- - $(this-folder)/Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json
- - $(this-folder)/Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
index 40fcb50e2a3f..9508e24e10c3 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
@@ -10,7 +10,7 @@
"https"
],
"paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations": {
"get": {
"x-ms-examples": {
"Return product name.": {
@@ -27,7 +27,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ApiVersionParameter"
@@ -39,6 +39,12 @@
"schema": {
"$ref": "#/definitions/ActivationResourcesPage"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -52,7 +58,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}": {
"get": {
"x-ms-examples": {
"Return activation name.": {
@@ -69,7 +75,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -85,8 +91,11 @@
"$ref": "#/definitions/ActivationResource"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -112,7 +121,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -130,6 +139,12 @@
"schema": {
"$ref": "#/definitions/ActivationResource"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -155,7 +170,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -170,6 +185,15 @@
"schema": {
"$ref": "#/definitions/ActivationResource"
}
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -243,6 +267,40 @@
"description": "URI to the next page."
}
}
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
index 7006ed80e3eb..fda858d423a4 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
@@ -33,6 +33,12 @@
"schema": {
"$ref": "#/definitions/OperationList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -50,17 +56,14 @@
"type": "object",
"properties": {
"id": {
- "readOnly": true,
"description": "URI of the resource.",
"type": "string"
},
"name": {
- "readOnly": true,
"description": "Name of the resource.",
"type": "string"
},
"type": {
- "readOnly": true,
"description": "Type of resource.",
"type": "string"
},
@@ -361,8 +364,7 @@
},
"galleryPackageBlobSasUri": {
"description": "The URI to the .azpkg file that provides information required for showing product in the gallery.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"productDetailsProperties": {
"description": "Specifies additional properties describing the product.",
@@ -401,8 +403,7 @@
},
"isSystemExtension": {
"description": "Specifies if product is a Virtual Machine Extension.",
- "type": "boolean",
- "readOnly": true
+ "type": "boolean"
},
"sourceBlob": {
"description": "Specifies a download location where content can be downloaded from.",
@@ -412,13 +413,11 @@
},
"supportMultipleExtensions": {
"description": "Indicates if specified product supports multiple extensions.",
- "type": "boolean",
- "readOnly": true
+ "type": "boolean"
},
"version": {
"description": "Specifies product version.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"vmOsType": {
"description": "Specifies operating system used by the product.",
@@ -427,8 +426,7 @@
},
"vmScaleSetEnabled": {
"description": "Indicates if virtual machine Scale Set is enabled in the specified product.",
- "type": "boolean",
- "readOnly": true
+ "type": "boolean"
}
}
},
@@ -438,8 +436,7 @@
"properties": {
"version": {
"description": "Specifies product version.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"osDiskImage": {
"description": "OS disk image used by product.",
@@ -475,8 +472,7 @@
"properties": {
"uri": {
"description": "The URI.",
- "type": "string",
- "readOnly": true
+ "type": "string"
}
}
},
@@ -559,9 +555,9 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "ResourceGroupParameter": {
+ "ResourceGroupNameParameter": {
"description": "The resource group the resource is located under.",
- "name": "resourceGroup",
+ "name": "resourceGroupName",
"in": "path",
"type": "string",
"required": true,
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
index 443b8e82072e..dd432ffef5b8 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
@@ -10,7 +10,7 @@
"https"
],
"paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts": {
"get": {
"x-ms-examples": {
"Get a list of downloaded products.": {
@@ -27,7 +27,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -42,6 +42,12 @@
"schema": {
"$ref": "#/definitions/DownloadedProductResourcesPage"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -55,7 +61,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}": {
"get": {
"x-ms-examples": {
"Gets the specified downloaded product.": {
@@ -72,7 +78,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -91,8 +97,11 @@
"$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -118,7 +127,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -143,8 +152,14 @@
"$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
- "404": {
- "description": "Not Found"
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -171,7 +186,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -198,6 +213,12 @@
"schema": {
"$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true,
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
index d3f9266f56b7..46b143618c60 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
@@ -10,7 +10,7 @@
"https"
],
"paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products": {
"get": {
"x-ms-examples": {
"Return product name.": {
@@ -27,7 +27,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -42,6 +42,12 @@
"schema": {
"$ref": "#/definitions/ProductResourcesPage"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -55,7 +61,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}": {
"get": {
"x-ms-examples": {
"Return product name.": {
@@ -72,7 +78,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -91,8 +97,11 @@
"$ref": "#/definitions/ProductResource"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -103,7 +112,7 @@
]
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download": {
"post": {
"x-ms-examples": {
"Return product name.": {
@@ -120,7 +129,7 @@
"$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
@@ -145,8 +154,11 @@
"$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Activation.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true,
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json
index 6548cbf55c22..fd4f8bbb1f2d 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json
@@ -3,8 +3,10 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
- "activation": "default",
+ "resourceGroupName": "azurestack",
+ "activation": {
+ "displayName": "default"
+ },
"activationName": "default"
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json
index 8f2e3a03d53a..94bb60730558 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default"
},
"responses": {
@@ -12,6 +12,7 @@
"id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default",
"name": "default"
}
- }
+ },
+ "204": {}
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json
index 3594658e9e70..99793c4e0364 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default"
},
"responses": {
@@ -22,7 +22,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json
index 143ec75e4ac8..2d7382dc81e6 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack"
+ "resourceGroupName": "azurestack"
},
"responses": {
"200": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json
index c7533bec0320..dc2f421dfeda 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default",
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6"
},
@@ -14,6 +14,6 @@
"202": {
"body": {}
},
- "404": {}
+ "204": {}
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json
index 34858fe08def..3ece1e75221e 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default",
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6"
},
@@ -57,7 +57,6 @@
}
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json
index 1dd20c4d85ae..ad8ce850e1a2 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default"
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json
index 9b50491c0898..64863fc9b9d6 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default",
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6",
"downloadedProduct": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json
index bdbf6a51dbdb..2ded67835365 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json
@@ -2,7 +2,7 @@
"parameters": {
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default",
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6",
"api-version": "2015-06-01-preview"
@@ -57,7 +57,6 @@
}
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json
index d5c05976c5d5..1cfadeb5e0f3 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default"
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
index b2140e732112..91f899e839e7 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
@@ -3,7 +3,7 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-06-01-preview",
- "resourceGroup": "azurestack",
+ "resourceGroupName": "azurestack",
"activationName": "default",
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6"
},
@@ -107,7 +107,6 @@
}
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md b/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md
new file mode 100644
index 000000000000..fab4d9021c9d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md
@@ -0,0 +1,11 @@
+# AutoRest v3 generators
+
+> see https://aka.ms/autorest
+
+``` yaml
+input-file:
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
+```
\ No newline at end of file
diff --git a/specification/azsadmin/resource-manager/azurebridge/readme.md b/specification/azsadmin/resource-manager/azurebridge/readme.md
index 81167054852a..09e4e09eecc6 100644
--- a/specification/azsadmin/resource-manager/azurebridge/readme.md
+++ b/specification/azsadmin/resource-manager/azurebridge/readme.md
@@ -39,6 +39,26 @@ input-file:
- Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
```
+## Suppression
+``` yaml
+directive:
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: Activation.json
+ where: $.definitions.ActivationResource
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: AzureBridge.json
+ where: $.definitions.DownloadedProductResource
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: Product.json
+ where: $.definitions.ProductResource
+ - suppress: PathResourceProviderNamePascalCase
+ from: Activation.json
+ - suppress: PathResourceProviderNamePascalCase
+ from: DownloadedProduct.json
+ - suppress: PathResourceProviderNamePascalCase
+ from: Product.json
+```
+
---
# Code Generation
@@ -54,30 +74,14 @@ csharp:
clear-output-folder: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+# 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
+> see https://aka.ms/autorest
-# all the input files across all versions
+``` yaml
input-file:
- - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
- - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
- - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
- - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.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
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
+ - Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
```
-
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json
new file mode 100644
index 000000000000..395b55e41a6c
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json
@@ -0,0 +1,35 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2016-05-01",
+ "title": "FabricAdminClient",
+ "description": "The common parameters for Fabric Management specs."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {},
+ "parameters": {
+ "TopParameter": {
+ "description": "OData top parameter.",
+ "name": "$top",
+ "in": "query",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "description": "OData skip parameter.",
+ "name": "$skip",
+ "in": "query",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
index 7726d7c276c8..4860d6ab336d 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
@@ -88,6 +88,12 @@
},
{
"$ref": "Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
index 5cbd44d07ee9..909c95d7085c 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
@@ -91,6 +91,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
index a49309035b87..c668fc776cfa 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
@@ -97,6 +97,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
index e93aa4081d80..6c401faf4622 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
@@ -85,6 +85,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
index 316cfe034ae4..05be0b86dfbf 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
@@ -97,6 +97,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json
new file mode 100644
index 000000000000..b0cd34d29890
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json
@@ -0,0 +1,599 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Scale unit operation endpoints and objects.",
+ "title": "FabricAdminClient",
+ "version": "2020-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/scaleOut": {
+ "post": {
+ "x-ms-examples": {
+ "Scales out a scale unit.": {
+ "$ref": "./examples/ScaleUnit/ScaleOut.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "description": "Scales out a scale unit.",
+ "operationId": "ScaleUnits_ScaleOut",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleOutScaleUnitParametersInBody"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/setGpuPartitionSize": {
+ "post": {
+ "x-ms-examples": {
+ "Set GPU partition size.": {
+ "$ref": "./examples/ScaleUnit/SetGpuPartitionSize.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "description": "Set GPU partition size.",
+ "operationId": "ScaleUnits_SetGPUPartitionSize",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "#/parameters/GpuPartitionSizeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/createFromJson": {
+ "post": {
+ "x-ms-examples": {
+ "Add a new scale unit.": {
+ "$ref": "./examples/ScaleUnit/CreateFromJson.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "description": "Add a new scale unit.",
+ "operationId": "ScaleUnits_CreateFromJson",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "#/parameters/CreateFromJsonScaleUnitParametersInBody"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the requested scale unit": {
+ "$ref": "./examples/ScaleUnit/Get.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "description": "Returns the requested scale unit.",
+ "operationId": "ScaleUnits_Get",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScaleUnit"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all scale units at a location.": {
+ "$ref": "./examples/ScaleUnit/List.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "description": "Returns a list of all scale units at a location.",
+ "operationId": "ScaleUnits_List",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScaleUnitList"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ScaleUnit"
+ }
+ }
+ },
+ "definitions": {
+ "ScaleUnitCapacity": {
+ "description": "The capacity information for a physical machine.",
+ "type": "object",
+ "properties": {
+ "memoryGB": {
+ "description": "The memory for the physical machine.",
+ "type": "number",
+ "format": "float"
+ },
+ "cores": {
+ "description": "The number of CPU cores for the physical machine.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "ScaleUnit": {
+ "description": "Represents a cluster. Generally, the cluster will be a collection of hosts backed by failover cluster manager.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a scale unit.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScaleUnitModel"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ScaleUnitModel": {
+ "description": "Properties of a scale unit.",
+ "type": "object",
+ "properties": {
+ "scaleUnitType": {
+ "description": "Type of cluster.",
+ "enum": [
+ "Unknown",
+ "ComputeOnly",
+ "StorageOnly",
+ "HyperConverged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ScaleUnitType"
+ }
+ },
+ "logicalFaultDomain": {
+ "description": "Fault domain name of the cluster.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "nodes": {
+ "description": "List of nodes in the server.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "state": {
+ "description": "Current state of the cluster.",
+ "enum": [
+ "Unknown",
+ "Creating",
+ "Running",
+ "Upgrading",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ScaleUnitState"
+ }
+ },
+ "model": {
+ "description": "Model of the servers in the cluster.",
+ "type": "string"
+ },
+ "totalCapacity": {
+ "description": "Capacity information for the cluster.",
+ "$ref": "#/definitions/ScaleUnitCapacity"
+ },
+ "isMultiNode": {
+ "description": "Denotes if more than one node in cluster.",
+ "type": "boolean"
+ },
+ "isGpuAvailable": {
+ "description": "Denotes if GPU resource is available in the cluster.",
+ "type": "boolean"
+ },
+ "gpuPartitionSize": {
+ "description": "GPU partition size.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "gpuType": {
+ "description": "Type of GPU.",
+ "enum": [
+ "GPUP",
+ "DDA",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "GpuType"
+ }
+ }
+ }
+ },
+ "ScaleUnitList": {
+ "description": "A pageable list of scale units.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of scale units.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleUnit"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "SetGpuPartitionSizeParameter": {
+ "description": "Input data for setting GPU partitions.",
+ "type": "object",
+ "properties": {
+ "gpuPartitionSize": {
+ "x-ms-client-name": "GpuPartitionSize",
+ "description": "Number of GPU partitions",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ScaleOutScaleUnitParameters": {
+ "description": "Input data that allows for adding a scale unit node.",
+ "type": "object",
+ "properties": {
+ "bmcIpv4Address": {
+ "x-ms-client-name": "BMCIPv4Address",
+ "description": "BMC address of the physical machine.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Computer name of the physical machine.",
+ "type": "string"
+ }
+ }
+ },
+ "ScaleOutScaleUnitParametersList": {
+ "description": "A list of input data that allows for adding a set of scale unit nodes.",
+ "type": "object",
+ "properties": {
+ "nodeList": {
+ "description": "List of nodes in the scale unit.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleOutScaleUnitParameters"
+ }
+ },
+ "awaitStorageConvergence": {
+ "description": "Flag indicates if the operation should wait for storage to converge before returning.",
+ "type": "boolean"
+ }
+ }
+ },
+ "NetworkDefinitionParameter": {
+ "description": "A definition of the network received from a new cluster operation.",
+ "type": "object",
+ "properties": {
+ "subnet": {
+ "description": "The subnet IP mask in the example format 10.0.0.0/25.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vlanId": {
+ "description": "The Vlan ID of the subnet.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DeploymentJsonPhysicalNodeParameters": {
+ "description": "Description of a bare metal node used for scale unit scale out operations.",
+ "type": "object",
+ "properties": {
+ "bmcIpAddress": {
+ "x-ms-client-name": "BMCIPAddress",
+ "description": "BMC address of the physical machine.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Computer name of the physical machine.",
+ "type": "string"
+ }
+ }
+ },
+ "CreateFromJsonScaleUnitParametersList": {
+ "description": "A list of input data that allows for creating the new scale unit.",
+ "type": "object",
+ "properties": {
+ "clusterName": {
+ "description": "Cluster name for the new scale unit.",
+ "type": "string"
+ },
+ "physicalNodes": {
+ "description": "List of nodes in the scale unit.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentJsonPhysicalNodeParameters"
+ }
+ },
+ "torSwitchBgpAsn": {
+ "description": "The ASN for the cluster's rack TOR.",
+ "type": "string"
+ },
+ "softwareBgpAsn": {
+ "description": "The software ASN for the cluster's rack.",
+ "type": "string"
+ },
+ "torSwitchBgpPeerIp": {
+ "description": "The list of IP addresses used for TOR communication.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "infrastructureNetwork": {
+ "description": "The information associated with the infrastructure network that will be subdivided into subnets.",
+ "$ref": "#/definitions/NetworkDefinitionParameter"
+ },
+ "storageNetwork": {
+ "description": "The information associated with the storage network that will be subdivided into subnets.",
+ "$ref": "#/definitions/NetworkDefinitionParameter"
+ },
+ "netQosPriority": {
+ "description": "The network QOS priority setting.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2020-10-01"
+ },
+ "ScaleUnitParameter": {
+ "name": "scaleUnit",
+ "description": "Name of the scale units.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "GpuPartitionSizeParameter": {
+ "name": "gpuPartitionSizeParameters",
+ "description": "Number of GPU partitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SetGpuPartitionSizeParameter"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ScaleOutScaleUnitParametersInBody": {
+ "name": "scaleUnitNodeParameters",
+ "description": "A list of input data that allows for adding a set of scale unit nodes.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScaleOutScaleUnitParametersList"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "CreateFromJsonScaleUnitParametersInBody": {
+ "name": "creationData",
+ "description": "A list of input data that allows for creating the new scale unit.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateFromJsonScaleUnitParametersList"
+ },
+ "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/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json
new file mode 100644
index 000000000000..3c8918b40b98
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json
@@ -0,0 +1,588 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Scale unit node operation endpoints and objects.",
+ "title": "FabricAdminClient",
+ "version": "2020-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown": {
+ "post": {
+ "x-ms-examples": {
+ "Shutdown a scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/Shutdown.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Shutdown a scale unit node.",
+ "operationId": "ScaleUnitNodes_Shutdown",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff": {
+ "post": {
+ "x-ms-examples": {
+ "Power off a scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/PowerOff.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Power off a scale unit node.",
+ "operationId": "ScaleUnitNodes_PowerOff",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn": {
+ "post": {
+ "x-ms-examples": {
+ "Power on a scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/PowerOn.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Power on a scale unit node.",
+ "operationId": "ScaleUnitNodes_PowerOn",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode": {
+ "post": {
+ "x-ms-examples": {
+ "Start maintenance mode on a scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/StartMaintenanceMode.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Start maintenance mode for a scale unit node.",
+ "operationId": "ScaleUnitNodes_StartMaintenanceMode",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode": {
+ "post": {
+ "x-ms-examples": {
+ "Stop maintenance mode on a scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/StopMaintenanceMode.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Stop maintenance mode for a scale unit node.",
+ "operationId": "ScaleUnitNodes_StopMaintenanceMode",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair": {
+ "post": {
+ "x-ms-examples": {
+ "Repairs a node of the cluster.": {
+ "$ref": "./examples/ScaleUnitNode/Repair.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Repairs a node of the cluster.",
+ "operationId": "ScaleUnitNodes_Repair",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/BareMetalNodeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the requested scale unit node.": {
+ "$ref": "./examples/ScaleUnitNode/Get.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Return the requested scale unit node.",
+ "operationId": "ScaleUnitNodes_Get",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ScaleUnitNodeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScaleUnitNode"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes": {
+ "get": {
+ "x-ms-examples": {
+ "List all scale unit node": {
+ "$ref": "./examples/ScaleUnitNode/List.json"
+ }
+ },
+ "tags": [
+ "ScaleUnitNodes"
+ ],
+ "description": "Returns a list of all scale unit nodes in a location.",
+ "operationId": "ScaleUnitNodes_List",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScaleUnitNodeList"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ScaleUnitNode"
+ }
+ }
+ },
+ "definitions": {
+ "BareMetalNodeDescription": {
+ "description": "Description of a bare metal node used for ScaleOut operation on a cluster.",
+ "type": "object",
+ "properties": {
+ "bmcIpv4Address": {
+ "x-ms-client-name": "BMCIPv4Address",
+ "description": "BMC address of the physical machine.",
+ "type": "string"
+ },
+ "vendor": {
+ "description": "Vendor of the physical machine.",
+ "type": "string"
+ },
+ "model": {
+ "description": "Model of the physical machine.",
+ "type": "string"
+ },
+ "serialNumber": {
+ "description": "Serial number of the physical machine.",
+ "type": "string"
+ },
+ "biosVersion": {
+ "description": "Bios version of the physical machine.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer.",
+ "type": "string"
+ },
+ "clusterName": {
+ "description": "Name of the cluster.",
+ "type": "string"
+ },
+ "macAddress": {
+ "description": "Name of the MAC address of the bare metal node.",
+ "type": "string"
+ }
+ }
+ },
+ "ScaleUnitNode": {
+ "description": "The physical server in a cluster.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Holds all properties related to a scale unit node.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScaleUnitNodeModel"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ScaleUnitNodeModel": {
+ "description": "Holds all properties related to a scale unit node.",
+ "type": "object",
+ "properties": {
+ "scaleUnitNodeStatus": {
+ "description": "Status of the physical machine.",
+ "enum": [
+ "Running",
+ "Maintenance",
+ "Stopped"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ScaleUnitNodeStatus"
+ }
+ },
+ "powerState": {
+ "description": "PowerState of the physical machine.",
+ "enum": [
+ "Stopped",
+ "Starting",
+ "Running",
+ "Stopping"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PowerState"
+ }
+ },
+ "bmcAddress": {
+ "description": "BMC address of the physical machine.",
+ "type": "string"
+ },
+ "scaleUnitName": {
+ "description": "Cluster name of the physical machine.",
+ "type": "string"
+ },
+ "scaleUnitUri": {
+ "description": "URI of the corresponding cluster.",
+ "type": "string"
+ },
+ "canPowerOff": {
+ "description": "Value indicating whether the node can be powered off.",
+ "type": "boolean"
+ },
+ "vendor": {
+ "description": "Vendor of the physical machine.",
+ "type": "string"
+ },
+ "model": {
+ "description": "Model of the physical machine.",
+ "type": "string"
+ },
+ "serialNumber": {
+ "description": "Serial number of the physical machine.",
+ "type": "string"
+ },
+ "biosVersion": {
+ "description": "BIOS version of the physical machine.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "Capacity of the physical machine.",
+ "$ref": "ScaleUnit.json#/definitions/ScaleUnitCapacity"
+ },
+ "gpus": {
+ "description": "GPU resource list of the physical machine.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/GpuModel"
+ }
+ }
+ }
+ },
+ "GpuModel": {
+ "description": "The GPU information on the physical machine.",
+ "type": "object",
+ "properties": {
+ "hostDriverVersion": {
+ "description": "GPU host driver version.",
+ "type": "string"
+ },
+ "name": {
+ "description": "GPU name.",
+ "type": "string"
+ },
+ "partitionSize": {
+ "description": "GPU partition size.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "slotLocation": {
+ "description": "GPU slot location.",
+ "type": "string"
+ },
+ "oem": {
+ "description": "GPU OEM information",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of GPU.",
+ "enum": [
+ "GPUP",
+ "DDA",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "GpuType"
+ }
+ }
+ }
+ },
+ "ScaleUnitNodeList": {
+ "description": "A pageable list of scale unit nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of scale unit nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScaleUnitNode"
+ }
+ },
+ "nextLink": {
+ "description": "The URI to the next page.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2020-10-01"
+ },
+ "ScaleUnitNodeParameter": {
+ "name": "scaleUnitNode",
+ "description": "Name of the scale unit node.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BareMetalNodeParameter": {
+ "name": "bareMetalNode",
+ "description": "Description of a node.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BareMetalNodeDescription"
+ },
+ "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/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json
new file mode 100644
index 000000000000..3fabf00b0637
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnit": "cluster",
+ "creationData": {
+ "clusterName": "cluster",
+ "physicalNodes": [
+ {
+ "bmcIpAddress": "192.0.0.1",
+ "name": "machine"
+ }
+ ],
+ "torSwitchBgpAsn": "64703",
+ "softwareBgpAsn": "64703",
+ "torSwitchBgpPeerIp": [
+ "10.0.0.1"
+ ],
+ "infrastructureNetwork": {
+ "subnet": [
+ "10.0.0.1/24"
+ ],
+ "vlanId": [
+ "0"
+ ]
+ },
+ "storageNetwork": {
+ "subnet": [
+ "10.0.0.1/24"
+ ],
+ "vlanId": [
+ "0"
+ ]
+ },
+ "netQosPriority": 1
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json
new file mode 100644
index 000000000000..f756a3cd1e0f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnit": "S-Cluster"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnits/S-Cluster",
+ "name": "S-Cluster",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnits",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "isGpuAvailable": true,
+ "gpuType": "DDA",
+ "gpuPartitionSize": 8,
+ "scaleUnitType": "HyperConverged",
+ "logicalFaultDomain": 0,
+ "nodes": [
+ "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/system.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/HC1u15a2437"
+ ],
+ "state": "Running",
+ "totalCapacity": {
+ "memoryGB": 511.8877,
+ "cores": 32
+ },
+ "isMultiNode": false
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json
new file mode 100644
index 000000000000..15d5eb427db8
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnits/S-Cluster",
+ "name": "S-Cluster",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnits",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "isGpuAvailable": true,
+ "gpuType": "GPUP",
+ "gpuPartitionSize": 8,
+ "scaleUnitType": "HyperConverged",
+ "logicalFaultDomain": 0,
+ "nodes": [
+ "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/system.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/HC1u15a2437"
+ ],
+ "state": "Running",
+ "totalCapacity": {
+ "memoryGB": 511.8877,
+ "cores": 32
+ },
+ "isMultiNode": false
+ }
+ }
+ ]
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json
new file mode 100644
index 000000000000..f422cfcb0a53
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnit": "S-Cluster",
+ "scaleUnitNodeParameters": {
+ "nodeList": [
+ {
+ "bmcIpv4Address": "192.0.0.1",
+ "computerName": "N1S2"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json
new file mode 100644
index 000000000000..c4d5ca48f9c2
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnit": "S-Cluster",
+ "gpuPartitionSizeParameters": {
+ "gpuPartitionSize": 4
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json
new file mode 100644
index 000000000000..6dc22b8439e4
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/N1S2",
+ "name": "N1S2",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnitNodes",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "scaleUnitNodeStatus": "Running",
+ "powerState": "Running",
+ "scaleUnitName": "S-Cluster",
+ "scaleUnitUri": "/fabricLocations/local/scaleUnits/S-Cluster",
+ "canPowerOff": false,
+ "capacity": {
+ "memoryGB": 255.875,
+ "cores": 56
+ },
+ "gpus": [
+ {
+ "slotLocation": "PCI bus 59, device 0, function 0, UINumber 1",
+ "oem": "Nvidia",
+ "name": "Nvidia Tesla P40",
+ "type": "DDA",
+ "partitionSize": 8,
+ "hostDriverVersion": "12.34.5698.90"
+ }
+ ]
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json
new file mode 100644
index 000000000000..2e5480c3c458
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/N1S2",
+ "name": "N1S2",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnitNodes",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "scaleUnitNodeStatus": "Running",
+ "powerState": "Running",
+ "scaleUnitName": "S-Cluster",
+ "scaleUnitUri": "/fabricLocations/local/scaleUnits/S-Cluster",
+ "canPowerOff": false,
+ "capacity": {
+ "memoryGB": 255.875,
+ "cores": 56
+ },
+ "gpus": [
+ {
+ "slotLocation": "PCI bus 59, device 0, function 0, UINumber 1",
+ "oem": "Nvidia",
+ "name": "Nvidia Tesla P40",
+ "type": "DDA",
+ "partitionSize": 8,
+ "hostDriverVersion": "12.34.5698.90"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json
new file mode 100644
index 000000000000..c729fdcfc69e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json
new file mode 100644
index 000000000000..c729fdcfc69e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json
new file mode 100644
index 000000000000..bd3d5e31bbb5
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2",
+ "bareMetalNode": {
+ "bmcIpv4Address": "192.168.1.1",
+ "vendor": "Commodore",
+ "model": "64",
+ "serialNumber": "123456789",
+ "biosVersion": "0.0.1",
+ "computerName": "Gibson",
+ "clusterName": "T-Cluster",
+ "macAddress": "00-14-22-01-23-45"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json
new file mode 100644
index 000000000000..c729fdcfc69e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json
new file mode 100644
index 000000000000..c729fdcfc69e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json
new file mode 100644
index 000000000000..c729fdcfc69e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "scaleUnitNode": "N1S2"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md
new file mode 100644
index 000000000000..1f4ce0188bd8
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md
@@ -0,0 +1,74 @@
+# Fabric Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Fabric Admin.
+
+---
+## Getting Started
+To build the SDK for Fabric Admin, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+
+### Basic Information
+These are the global settings for the Fabric API.
+
+``` yaml
+title: FabricAdminClient
+description: Fabric Admin Client
+openapi-type: arm
+tag: package-2019-05-01
+```
+
+``` yaml
+input-file:
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json"
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json"
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json"
+```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.AzureStack.Management.Fabric.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md
index 66c605b587f4..238e9584cb6d 100644
--- a/specification/azsadmin/resource-manager/fabric/readme.md
+++ b/specification/azsadmin/resource-manager/fabric/readme.md
@@ -107,14 +107,14 @@ input-file:
- "Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json"
- "Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json"
- "Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json"
- - "Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json"
- - "Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json"
- "Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json"
- "Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json"
- "Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json"
- "Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json"
- "Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json"
- "Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json"
+ - "Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json"
+ - "Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json"
```
## Suppression
@@ -187,6 +187,8 @@ input-file:
- $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
- $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
- $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json
```
@@ -197,4 +199,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
index e47cd5146f23..85b0fd60d43d 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
@@ -91,7 +91,7 @@
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/NewSubscriptionParameter"
+ "$ref": "#/parameters/SubscriptionDefinitionParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -263,9 +263,9 @@
"description": "Id of the subscription.",
"x-ms-parameter-location": "method"
},
- "NewSubscriptionParameter": {
+ "SubscriptionDefinitionParameter": {
"description": "Subscription parameter.",
- "name": "newSubscription",
+ "name": "subscriptionDefinition",
"in": "body",
"schema": {
"$ref": "#/definitions/Subscription"
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
index 47b02ee55c42..3851dcb6eb2f 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
@@ -3,15 +3,13 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-11-01",
- "newSubscription": {
- "properties": {
- "displayName": "Test User-user1@contoso.com",
- "id": "",
- "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09",
- "state": "Enabled",
- "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e",
- "tenantId": ""
- }
+ "subscriptionDefinition": {
+ "displayName": "Test User-user1@contoso.com",
+ "id": "",
+ "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09",
+ "state": "Enabled",
+ "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e",
+ "tenantId": ""
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/readme.md b/specification/azsadmin/resource-manager/user-subscriptions/readme.md
index 9c3540a14d15..7eff63e9c33d 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/readme.md
+++ b/specification/azsadmin/resource-manager/user-subscriptions/readme.md
@@ -82,33 +82,13 @@ csharp:
clear-output-folder: true
```
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-
-``` yaml $(python)
-python:
- # override the default output folder
- output-folder: $(output-folder)/python
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
-```
-
-### Tag: package-2015-11-01 and python
-
-These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-11-01' && $(python)
-namespace: azure.mgmt.subscriptions.v2015_06_01_preview
-```
-
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
This block is updated by an automatic script. Edits may be lost!
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+``` yaml
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../../profiles/readme.md
@@ -127,3 +107,22 @@ uncomment the `exclude-file` section below and add the file paths.
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+
+``` yaml $(python)
+python:
+ # override the default output folder
+ output-folder: $(output-folder)/python
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+```
+
+### Tag: package-2015-11-01 and python
+
+These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-11-01' && $(python)
+namespace: azure.mgmt.subscriptions.v2015_06_01_preview
+```
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json
index f25f772e9597..76b9c8e81e96 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json
@@ -7,6 +7,7 @@
"api-version": "2020-06-14",
"parameters": {
"location": "westus",
+ "kind": "ReadWrite",
"properties": {
"softDeletePeriod": "P1D"
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
new file mode 100644
index 000000000000..3cd7dcc2bc03
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "kustodatabase",
+ "defaultPrincipalsModificationKind": "Union"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json
new file mode 100644
index 000000000000..b4d3053b2661
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json
new file mode 100644
index 000000000000..9084959fe306
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "databaseName": "*",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
new file mode 100644
index 000000000000..486ab7459f31
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json
new file mode 100644
index 000000000000..64fc755ae1fc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18",
+ "languageExtensionsToAdd": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json
new file mode 100644
index 000000000000..fa7219ff1b82
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18",
+ "followerDatabaseToRemove": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4",
+ "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json
new file mode 100644
index 000000000000..f6fc5b64ce8a
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1",
+ "databaseName": "*"
+ },
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration2",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4",
+ "databaseName": "db1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json
new file mode 100644
index 000000000000..32d0dabe8250
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..28b8998c1008
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/principalAssignments"
+ },
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..dd7571930885
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "properties": {
+ "role": "AllDatabasesAdmin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..7f1ec1602d86
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..21e5ab70c8f7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json
new file mode 100644
index 000000000000..080811fea6db
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json
new file mode 100644
index 000000000000..6cdfd1e46b90
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18",
+ "languageExtensionsToRemove": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..a2298cbd294e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-09-18",
+ "location": "wus",
+ "clusterName": {
+ "name": "kustoclusterrptest4",
+ "type": "Microsoft.Kusto/clusters"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kuskusprod",
+ "nameAvailable": false,
+ "message": "Name 'kuskusprod' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..da62b0b8fabb
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..07afa7145686
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json
new file mode 100644
index 000000000000..4d28dd726a9a
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "findings": [
+ "Outbound dependency 'Storage:443' might not be satisfied (Outbound)"
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..4eed52534e40
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json
new file mode 100644
index 000000000000..ae7841c260b0
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..eb34b2c020ab
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..e3068b3326cc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L8s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L16s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..3ab882df762b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_D13_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "Standard_D14_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L8",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L16",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..980f22a32831
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..980f22a32831
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..b770f9d74a4b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "location": "westus"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json
new file mode 100644
index 000000000000..487600856acd
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "dataConnectionName": "DataConnections8",
+ "properties": {
+ "kind": "EventHub",
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "errorMessage": "Event hub's namespace does not exist"
+ },
+ {
+ "errorMessage": "Database does not exist"
+ }
+ ]
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json
new file mode 100644
index 000000000000..2903d8f64139
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-09-18",
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "dataConnectionName": {
+ "name": "DataConnections8",
+ "type": "Microsoft.Kusto/clusters/databases/dataConnections"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "DataConnections8",
+ "nameAvailable": false,
+ "message": "Name 'DataConnections8' is already taken. Please specify a different name.",
+ "reason": "AlreadyExists"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..1fb8d3788065
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..05a772ff4ed3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..d9abaf9772b0
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "dataConnectionName": "DataConnections8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..4c7e09b7d2fb
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9",
+ "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2",
+ "consumerGroup": "testConsumerGroup2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..1fb8d3788065
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..f4b6adfd87b2
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "databasePrincipalsToAdd": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..ad1c9c42eb2b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..7321c6c47b03
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/databases/principalAssignments"
+ },
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..4cf19b4d4be5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..5973f67ea030
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..77dfcf895e20
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json
new file mode 100644
index 000000000000..080811fea6db
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..c8a35a599846
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "databasePrincipalsToRemove": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..6184f1f78580
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-09-18",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "resourceName": {
+ "name": "kustoresourcename1",
+ "type": "Microsoft.Kusto/clusters/databases"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoresourcename1",
+ "nameAvailable": false,
+ "message": "Name 'kuskus' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..e161d5a0a085
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..f00f7b7e7313
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..87cd1481ba25
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..5c6b1fcf6456
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..d9994e7244f7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-09-18",
+ "parameters": {
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..f5e8a42bd538
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-09-18"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "provider": "providerName",
+ "resource": "resourceName",
+ "operation": "operationName",
+ "description": "operation description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json
new file mode 100644
index 000000000000..7ed04f444d6a
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json
@@ -0,0 +1,4351 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2020-09-18"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "KustoClustersDelete": {
+ "$ref": "./examples/KustoClustersDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- cluster deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete cluster request."
+ },
+ "204": {
+ "description": "NoContent -- cluster does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Stop",
+ "x-ms-examples": {
+ "KustoClustersStop": {
+ "$ref": "./examples/KustoClustersStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Stops a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Start",
+ "x-ms-examples": {
+ "KustoClustersStart": {
+ "$ref": "./examples/KustoClustersStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Starts a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCheckNameAvailability": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the principal assignment name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the principal assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The Kusto cluster principalAssignment's parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
+ "operationId": "Clusters_ListFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterListFollowerDatabases": {
+ "$ref": "./examples/KustoClusterListFollowerDatabases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of followed databases.",
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Detaches all followers of a database owned by this cluster.",
+ "operationId": "Clusters_DetachFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterDetachFollowerDatabases": {
+ "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "followerDatabaseToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The follower databases properties to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.",
+ "operationId": "Clusters_DiagnoseVirtualNetwork",
+ "x-ms-examples": {
+ "KustoClusterDiagnoseVirtualNetwork": {
+ "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DiagnoseVirtualNetworkResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "KustoClustersListByResourceGroup": {
+ "$ref": "./examples/KustoClustersListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "x-ms-examples": {
+ "KustoClustersList": {
+ "$ref": "./examples/KustoClustersList.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for Kusto resource provider.",
+ "x-ms-examples": {
+ "KustoClustersListSkus": {
+ "$ref": "./examples/KustoClustersListSkus.json"
+ }
+ },
+ "operationId": "Clusters_ListSkus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/SkuDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClustersCheckNameAvailability": {
+ "$ref": "./examples/KustoClustersCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the cluster name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListSkusByResource",
+ "x-ms-examples": {
+ "KustoClustersListResourceSkus": {
+ "$ref": "./examples/KustoClustersListResourceSkus.json"
+ }
+ },
+ "description": "Returns the SKUs available for the provided resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ListResourceSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns the list of databases of the given Kusto cluster.",
+ "operationId": "Databases_ListByCluster",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDatabasesListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of databases.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a database.",
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "KustoDatabasesGet": {
+ "$ref": "./examples/KustoDatabasesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Creates or updates a database.",
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasesCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the update database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Deletes the database with the given name.",
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "KustoDatabasesDelete": {
+ "$ref": "./examples/KustoDatabasesDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database principal assignment is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster database principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The Kusto principalAssignments parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster database principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a list of database principals of the given Kusto cluster and database.",
+ "operationId": "Databases_ListPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseListPrincipals": {
+ "$ref": "./examples/KustoDatabaseListPrincipals.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of database principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_AddPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseAddPrincipals": {
+ "$ref": "./examples/KustoDatabaseAddPrincipals.json"
+ }
+ },
+ "description": "Add Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns the list of attached database configurations of the given Kusto cluster.",
+ "operationId": "AttachedDatabaseConfigurations_ListByCluster",
+ "x-ms-examples": {
+ "KustoAttachedDatabaseConfigurationsListByCluster": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of attached database configurations.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_Get",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsGet": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified attached database configuration.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Creates or updates an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Deletes the attached database configuration with the given name.",
+ "operationId": "AttachedDatabaseConfigurations_Delete",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsDelete": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_RemovePrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseRemovePrincipals": {
+ "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
+ }
+ },
+ "description": "Remove Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns the list of data connections of the given Kusto database.",
+ "operationId": "DataConnections_ListByDatabase",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of data connections.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_dataConnectionValidation",
+ "x-ms-examples": {
+ "KustoDataConnectionValidation": {
+ "$ref": "./examples/KustoDataConnectionValidationAsync.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Checks that the data connection parameters are valid.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidation"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidationListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDataConnectionsCheckNameAvailability": {
+ "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the data connection name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "dataConnectionName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionCheckNameRequest"
+ },
+ "description": "The name of the data connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the Kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Creates or updates a data connection.",
+ "operationId": "DataConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDataConnectionsCreateOrUpdate": {
+ "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully created the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the create data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Updates a data connection.",
+ "operationId": "DataConnections_Update",
+ "x-ms-examples": {
+ "KustoDataConnectionsUpdate": {
+ "$ref": "./examples/KustoDataConnectionsUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the update data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Deletes the data connection with the given name.",
+ "operationId": "DataConnections_Delete",
+ "x-ms-examples": {
+ "KustoDataConnectionsDelete": {
+ "$ref": "./examples/KustoDataConnectionsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the data connection."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified data connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Kusto/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "KustoOperationsList": {
+ "$ref": "./examples/KustoOperationsList.json"
+ }
+ },
+ "description": "Lists available operations for the Microsoft.Kusto provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_ListLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterListLanguageExtensions": {
+ "$ref": "./examples/KustoClusterListLanguageExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of language extensions.",
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Add a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_AddLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterAddLanguageExtensions": {
+ "$ref": "./examples/KustoClusterAddLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Remove a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_RemoveLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterRemoveLanguageExtensions": {
+ "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster URI."
+ },
+ "dataIngestionUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster data ingestion URI."
+ },
+ "stateReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reason for the cluster's current state."
+ },
+ "trustedExternalTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedExternalTenant"
+ },
+ "description": "The cluster's external tenants."
+ },
+ "optimizedAutoscale": {
+ "type": "object",
+ "$ref": "#/definitions/OptimizedAutoscale",
+ "description": "Optimized auto scale definition."
+ },
+ "enableDiskEncryption": {
+ "description": "A boolean value that indicates if the cluster's disks are encrypted.",
+ "type": "boolean"
+ },
+ "enableStreamingIngest": {
+ "description": "A boolean value that indicates if the streaming ingest is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "virtualNetworkConfiguration": {
+ "type": "object",
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network definition."
+ },
+ "keyVaultProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the cluster encryption."
+ },
+ "enablePurge": {
+ "description": "A boolean value that indicates if the purge operations are enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "languageExtensions": {
+ "type": "object",
+ "$ref": "#/definitions/LanguageExtensionsList",
+ "readOnly": true,
+ "description": "List of the cluster's language extensions."
+ },
+ "enableDoubleEncryption": {
+ "description": "A boolean value that indicates if double encryption is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "engineType": {
+ "type": "string",
+ "description": "The engine type",
+ "enum": [
+ "V2",
+ "V3"
+ ],
+ "x-ms-enum": {
+ "name": "EngineType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed capacity.",
+ "type": "integer"
+ },
+ "default": {
+ "description": "The default capacity that would be used.",
+ "type": "integer"
+ }
+ },
+ "description": "Azure capacity definition."
+ },
+ "SkuDescriptionList": {
+ "description": "The list of the EngagementFabric SKU descriptions",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "SKU descriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuDescription"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuDescription": {
+ "description": "The Kusto SKU description of given resource type",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The tier of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The set of locations that the SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Locations and zones",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfoItem"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "The restrictions because of which SKU cannot be used",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfoItem": {
+ "description": "The locations and zones info for SKU.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "description": "The available location of the SKU.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "The available zone of the SKU.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "Standard_DS13_v2+1TB_PS",
+ "Standard_DS13_v2+2TB_PS",
+ "Standard_DS14_v2+3TB_PS",
+ "Standard_DS14_v2+4TB_PS",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2",
+ "Standard_E64i_v3",
+ "Standard_E2a_v4",
+ "Standard_E4a_v4",
+ "Standard_E8a_v4",
+ "Standard_E16a_v4",
+ "Standard_E8as_v4+1TB_PS",
+ "Standard_E8as_v4+2TB_PS",
+ "Standard_E16as_v4+3TB_PS",
+ "Standard_E16as_v4+4TB_PS",
+ "Dev(No SLA)_Standard_E2a_v4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "Zones": {
+ "description": "An array represents the availability zones of the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "OptimizedAutoscale": {
+ "type": "object",
+ "required": [
+ "version",
+ "isEnabled",
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the template defined, for instance 1.",
+ "type": "integer"
+ },
+ "isEnabled": {
+ "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.",
+ "type": "boolean"
+ },
+ "minimum": {
+ "description": "Minimum allowed instances count.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed instances count.",
+ "type": "integer"
+ }
+ },
+ "description": "A class that contains the optimized auto scale definition."
+ },
+ "VirtualNetworkConfiguration": {
+ "type": "object",
+ "required": [
+ "subnetId",
+ "enginePublicIpId",
+ "dataManagementPublicIpId"
+ ],
+ "properties": {
+ "subnetId": {
+ "description": "The subnet resource id.",
+ "type": "string"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "isFollowed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates whether the database is followed."
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "ReadOnlyFollowingDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "readOnly": true,
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "leaderClusterResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the leader cluster"
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the attached database configuration cluster"
+ },
+ "principalsModificationKind": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The principals modification kind of the database"
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "EventHubConnectionProperties": {
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the event hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/EventHubDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the event hub"
+ },
+ "compression": {
+ "$ref": "#/definitions/Compression",
+ "description": "The event hub messages compression type"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event hub connection properties."
+ },
+ "IotHubConnectionProperties": {
+ "properties": {
+ "iotHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the Iot hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The iot hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/IotHubDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the iot hub"
+ },
+ "sharedAccessPolicyName": {
+ "type": "string",
+ "description": "The name of the share access policy"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "iotHubResourceId",
+ "consumerGroup",
+ "sharedAccessPolicyName"
+ ],
+ "description": "Class representing the Kusto Iot hub connection properties."
+ },
+ "EventHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "IotHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "iotHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "EventGridDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventGridDataFormat",
+ "modelAsString": true
+ }
+ },
+ "BlobStorageEventType": {
+ "description": "The name of blob storage event type to process.",
+ "type": "string",
+ "enum": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobRenamed"
+ ],
+ "x-ms-enum": {
+ "name": "blobStorageEventType",
+ "modelAsString": true
+ }
+ },
+ "Compression": {
+ "description": "The compression type",
+ "type": "string",
+ "enum": [
+ "None",
+ "GZip"
+ ],
+ "x-ms-enum": {
+ "name": "compression",
+ "modelAsString": true
+ }
+ },
+ "EventGridConnectionProperties": {
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "The resource ID of the storage account where the data resides."
+ },
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID where the event grid is configured to send events."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/EventGridDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "ignoreFirstRecord": {
+ "type": "boolean",
+ "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file"
+ },
+ "blobStorageEventType": {
+ "$ref": "#/definitions/BlobStorageEventType",
+ "description": "The name of blob storage event type to process."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event grid connection properties."
+ },
+ "Cluster": {
+ "required": [
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "DatabasePrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing database principal property."
+ },
+ "ClusterPrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Cluster principal role.",
+ "type": "string",
+ "enum": [
+ "AllDatabasesAdmin",
+ "AllDatabasesViewer"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterPrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "DatabasePrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabasePrincipalProperties",
+ "description": "The database principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a database principal assignment."
+ },
+ "ClusterPrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterPrincipalProperties",
+ "description": "The cluster principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a cluster principal assignment."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The list of Kusto database principal assignments."
+ }
+ },
+ "description": "The list Kusto database principal assignments operation response."
+ },
+ "ClusterPrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The list of Kusto cluster principal assignments."
+ }
+ },
+ "description": "The list Kusto cluster principal assignments operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid",
+ "IotHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an data connection.",
+ "discriminator": "kind"
+ },
+ "DataConnectionValidationResult": {
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "A message which indicates a problem in data connection validation."
+ }
+ },
+ "description": "The result returned from a data connection validation request."
+ },
+ "DatabasePrincipalListRequest": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation request."
+ },
+ "FollowerDatabaseDefinition": {
+ "type": "object",
+ "required": [
+ "clusterResourceId",
+ "attachedDatabaseConfigurationName"
+ ],
+ "properties": {
+ "clusterResourceId": {
+ "type": "string",
+ "description": "Resource id of the cluster that follows a database owned by this cluster."
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "description": "Resource name of the attached database configuration in the follower cluster."
+ },
+ "databaseName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The database name owned by this cluster that was followed. * in case following all databases."
+ }
+ },
+ "description": "A class representing follower database request."
+ },
+ "DiagnoseVirtualNetworkResult": {
+ "properties": {
+ "findings": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of network connectivity diagnostic finding"
+ }
+ }
+ },
+ "DataConnectionValidation": {
+ "properties": {
+ "dataConnectionName": {
+ "type": "string",
+ "description": "The name of the data connection."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataConnection",
+ "description": "The data connection properties to validate."
+ }
+ },
+ "description": "Class representing an data connection validation."
+ },
+ "EventHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Event Hub data connection properties to validate.",
+ "$ref": "#/definitions/EventHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an event hub data connection.",
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "IotHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Iot Hub data connection properties.",
+ "$ref": "#/definitions/IotHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an iot hub data connection.",
+ "x-ms-discriminator-value": "IotHub"
+ },
+ "EventGridDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the Event Grid data connection.",
+ "$ref": "#/definitions/EventGridConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an Event Grid data connection.",
+ "x-ms-discriminator-value": "EventGrid"
+ },
+ "DataConnectionValidationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnectionValidationResult"
+ },
+ "description": "The list of Kusto data connection validation errors."
+ }
+ },
+ "description": "The list Kusto data connection validation result."
+ },
+ "DataConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The list of Kusto data connections."
+ }
+ },
+ "description": "The list Kusto data connections operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "An error response from Kusto."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "ClusterCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Cluster name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a cluster check name availability request."
+ },
+ "CheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases",
+ "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "ClusterPrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "DataConnectionCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Data Connection name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/dataConnections"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A data connection check name availability request."
+ },
+ "DatabasePrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "CheckNameResult": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Specifies a Boolean value that indicates if the name is available."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name that was checked."
+ },
+ "message": {
+ "type": "string",
+ "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated."
+ },
+ "reason": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "reason",
+ "modelAsString": true
+ },
+ "description": "Message providing the reason why the given name is invalid."
+ }
+ },
+ "description": "The result returned from a check name availability request."
+ },
+ "ListResourceSkusResult": {
+ "description": "List of available SKUs for a Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureResourceSku"
+ },
+ "description": "The collection of available SKUs for an existing resource."
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete.",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of the key vault.",
+ "required": [
+ "keyName",
+ "keyVaultUri"
+ ],
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The name of the key vault key.",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of the key vault key.",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of the key vault.",
+ "x-ms-client-name": "KeyVaultUri"
+ },
+ "userIdentity": {
+ "type": "string",
+ "description": "The user assigned identity (ARM resource id) that has access to the key.",
+ "x-ms-client-name": "UserIdentity"
+ }
+ }
+ },
+ "LanguageExtensionName": {
+ "description": "Language extension that can run within KQL query.",
+ "type": "string",
+ "enum": [
+ "PYTHON",
+ "R"
+ ],
+ "x-ms-enum": {
+ "name": "languageExtensionName",
+ "modelAsString": true
+ }
+ },
+ "LanguageExtension": {
+ "type": "object",
+ "description": "The language extension object.",
+ "properties": {
+ "languageExtensionName": {
+ "$ref": "#/definitions/LanguageExtensionName",
+ "description": "The language extension name."
+ }
+ }
+ },
+ "LanguageExtensionsList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageExtension"
+ },
+ "description": "The list of language extensions."
+ }
+ },
+ "description": "The list of language extension objects."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/readme.azureresourceschema.md b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..96c34a3fb116
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,96 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-kusto-2020-06-14
+ - tag: schema-kusto-2020-02-15
+ - tag: schema-kusto-2019-11-09
+ - tag: schema-kusto-2019-09-07
+ - tag: schema-kusto-2019-05-15
+ - tag: schema-kusto-2019-01-21
+ - tag: schema-kusto-2018-09-07-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-kusto-2020-06-14 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2020-06-14' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2020-06-14/kusto.json
+
+```
+
+### Tag: schema-kusto-2020-02-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2020-02-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2020-02-15/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-11-09 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-11-09' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-11-09/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-09-07 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-09-07' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-09-07/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-05-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-05-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-05-15/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-01-21 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-01-21' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-01-21/kusto.json
+
+```
+
+### Tag: schema-kusto-2018-09-07-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2018-09-07-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
+
+```
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index ed01044bbc85..53a36056359e 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-09-18
- tag: package-2018-09-07-preview
- tag: package-2019-01-21
- tag: package-2019-05-15
@@ -22,6 +23,15 @@ batch:
- tag: package-2020-06-14
```
+### Tag: package-2020-09-18 and go
+
+These settings apply only when `--tag=package-2020-09-18 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-09-18' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-18/$(namespace)
+```
+
### Tag: package-2018-09-07-preview and go
These settings apply only when `--tag=package-2018-09-07-preview --go` is specified on the command line.
diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md
index aad8458d0f18..5e32600d1a18 100644
--- a/specification/azure-kusto/resource-manager/readme.java.md
+++ b/specification/azure-kusto/resource-manager/readme.java.md
@@ -18,7 +18,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto
batch:
- tag: package-2019-11-09
- tag: package-2020-02-15
- - tag: package-2020-06-14
+ - tag: package-2020-06-14
+ - tag: package-2020-09
```
### Tag: package-2018-09-07-preview and java
@@ -110,4 +111,17 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_06_14
regenerate-manager: true
generate-interface: true
+```
+
+### Tag: package-2020-09 and java
+
+These settings apply only when `--tag=package-2020-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2020_09_18
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_09_18
+regenerate-manager: true
+generate-interface: true
```
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index afb317f7b06b..8f7b35f48286 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -28,14 +28,23 @@ These are the global settings for the Kusto API.
title: KustoManagementClient
description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.'
openapi-type: arm
-tag: package-2020-06-14
+tag: package-2020-09-18
```
+
+### Tag: package-2020-09-18
+
+These settings apply only when `--tag=package-2020-09-18` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-09-18'
+input-file:
+ - Microsoft.Kusto/stable/2020-09-18/kusto.json
+```
### Tag: package-2020-06-14
These settings apply only when `--tag=package-2020-06-14` is specified on the command line.
-```yaml $(tag) == 'package-2020-06-14'
+``` yaml $(tag) == 'package-2020-06-14'
input-file:
- Microsoft.Kusto/stable/2020-06-14/kusto.json
```
@@ -173,6 +182,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-java
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azure-kusto/resource-manager
```
## C#
@@ -193,36 +205,9 @@ csharp:
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.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.Kusto/stable/2020-06-14/kusto.json
- - $(this-folder)/Microsoft.Kusto/stable/2020-02-15/kusto.json
- - $(this-folder)/Microsoft.Kusto/stable/2019-11-09/kusto.json
- - $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json
- - $(this-folder)/Microsoft.Kusto/stable/2019-05-15/kusto.json
- - $(this-folder)/Microsoft.Kusto/stable/2019-01-21/kusto.json
- - $(this-folder)/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
- - $(this-folder)/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## Suppression
diff --git a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b6bab336b329
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,49 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-aadiam-2020-07-01-preview
+ - tag: schema-aadiam-2020-03-01-preview
+ - tag: schema-aadiam-2017-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-aadiam-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json
+
+```
+
+### Tag: schema-aadiam-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
+ - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
+
+```
+
+### Tag: schema-aadiam-2017-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2017-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
+
+```
diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md
index a280ce576d65..b84ecea4a6f7 100644
--- a/specification/azureactivedirectory/resource-manager/readme.md
+++ b/specification/azureactivedirectory/resource-manager/readme.md
@@ -95,6 +95,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azureactivedirectory']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azureactivedirectory/resource-manager
```
## Go
@@ -117,29 +120,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.Aadiam/preview/2020-07-01-preview/azureADMetrics.json
- - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
- - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
- - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-```
-
-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/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
index 7f52976db6c8..c8f01b22aae2 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
@@ -1647,7 +1647,7 @@
}
},
"x-ms-examples": {
- "Updates a dataController tags.": {
+ "Get a data controller.": {
"$ref": "./examples/GetDataController.json"
}
}
@@ -1674,6 +1674,15 @@
},
{
"$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "The update data controller resource",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerUpdate"
+ }
}
],
"responses": {
@@ -2197,39 +2206,22 @@
"description": "The data controller's properties",
"x-ms-client-flatten": true
}
- }
+ },
+ "required": [
+ "properties"
+ ]
},
- "AzureResource": {
- "type": "object",
+ "DataControllerUpdate": {
"properties": {
- "etag": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "kind": {
- "type": "string"
- },
- "location": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "sku": {
- "$ref": "#/definitions/ResourceSku"
- },
"tags": {
+ "type": "object",
"additionalProperties": {
"type": "string"
},
- "type": "object"
- },
- "type": {
- "type": "string"
+ "description": "Resource tags"
}
- }
+ },
+ "description": "Used for updating a data controller resource."
},
"SystemData": {
"description": "Read only system data",
@@ -2304,23 +2296,11 @@
"properties": {
"onPremiseProperty": {
"$ref": "#/definitions/OnPremiseProperty"
- },
- "requestType": {
- "$ref": "#/definitions/RequestType"
- },
- "uploadRequest": {
- "$ref": "#/definitions/UsageUploadRequest"
- },
- "uploadResponse": {
- "$ref": "#/definitions/UsageUploadResponse"
- },
- "handshakeRequest": {
- "$ref": "#/definitions/HandshakeRequest"
- },
- "handshakeResponse": {
- "$ref": "#/definitions/HandshakeResponse"
}
- }
+ },
+ "required": [
+ "onPremiseProperty"
+ ]
},
"OnPremiseProperty": {
"description": "Properties from the on premise data controller",
@@ -2339,130 +2319,11 @@
"type": "string",
"description": "Unique thumbprint returned to customer to verify the certificate being uploaded"
}
- }
- },
- "RequestType": {
- "type": "string",
- "enum": [
- "Unknown",
- "Handshake",
- "UsageUpload"
- ],
- "x-ms-enum": {
- "name": "RequestType",
- "modelAsString": true
- }
- },
- "UsageUploadRequest": {
- "type": "object",
- "properties": {
- "exportType": {
- "type": "string"
- },
- "dataTimestamp": {
- "type": "string",
- "format": "date-time"
- },
- "data": {
- "items": {
- "$ref": "#/definitions/UsageRecord"
- },
- "type": "array"
- },
- "signature": {
- "type": "string"
- }
- }
- },
- "UsageRecord": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid"
- },
- "eventSeq": {
- "type": "integer",
- "format": "int64"
- },
- "eventId": {
- "type": "string",
- "format": "uuid"
- },
- "namespace": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "subscriptionId": {
- "type": "string",
- "format": "uuid"
- },
- "resourceGroup": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "location": {
- "type": "string"
- },
- "startTime": {
- "type": "string",
- "format": "date-time"
- },
- "endTime": {
- "type": "string",
- "format": "date-time"
- },
- "quantity": {
- "type": "number",
- "format": "double"
- },
- "tags": {
- "type": "string"
- }
- }
- },
- "UsageUploadResponse": {
- "type": "object",
- "properties": {
- "usageUploadStatus": {
- "$ref": "#/definitions/UsageUploadStatus"
- },
- "usageWaterMark": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "UsageUploadStatus": {
- "type": "string",
- "enum": [
- "Unknown",
- "Failed",
- "PartialSuccess",
- "Completed"
- ],
- "x-ms-enum": {
- "name": "UsageUploadStatus",
- "modelAsString": true
- }
- },
- "HandshakeRequest": {
- "type": "object"
- },
- "HandshakeResponse": {
- "type": "object",
- "properties": {
- "usageUploadUrl": {
- "type": "string"
- },
- "usageResultUrl": {
- "type": "string"
- }
- }
+ },
+ "required": [
+ "id",
+ "publicSigningKey"
+ ]
},
"PostgresInstanceProperties": {
"description": "Postgres Instance properties.",
@@ -2534,6 +2395,26 @@
"dataControllerId": {
"type": "string",
"description": "null"
+ },
+ "instanceEndpoint": {
+ "type": "string",
+ "description": "The on premise instance endpoint"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The instance vCore"
}
}
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json
index e3036e60f973..9c207564ec59 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json
@@ -9,13 +9,23 @@
"tags": {
"mytag": "myval"
},
- "properties": {}
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ }
}
},
"responses": {
"200": {
"body": {
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
@@ -35,7 +45,12 @@
},
"201": {
"body": {
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json
index dc230e0b589a..8a13eb3d5b6e 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json
@@ -8,7 +8,13 @@
"responses": {
"200": {
"body": {
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json
index 8b080cc3a76d..af96057ccab0 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json
@@ -8,7 +8,12 @@
"responses": {
"200": {
"body": {
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json
index 126d66b7cc34..797b1fb81a31 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json
@@ -9,7 +9,13 @@
"body": {
"value": [
{
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
@@ -27,7 +33,13 @@
"type": "Microsoft.AzureData/dataControllers"
},
{
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json
index d3274ac46b43..bb31e438e35a 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json
@@ -9,7 +9,12 @@
"body": {
"value": [
{
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
@@ -27,7 +32,12 @@
"type": "Microsoft.AzureData/sqlManagedInstances"
},
{
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json
index 18d086a66724..a81869dfea05 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json
@@ -8,7 +8,13 @@
"body": {
"value": [
{
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
@@ -26,7 +32,13 @@
"type": "Microsoft.AzureData/dataControllers"
},
{
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json
index abec693b66fa..65f4485aebd5 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json
@@ -8,7 +8,12 @@
"body": {
"value": [
{
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
@@ -26,7 +31,12 @@
"type": "Microsoft.AzureData/sqlManagedInstances"
},
{
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json
index 314c7481a45b..c6dc5166499a 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json
@@ -4,7 +4,7 @@
"resourceGroupName": "testrg",
"dataControllerName": "testdataController1",
"api-version": "2019-07-24",
- "parameters": {
+ "dataControllerResource": {
"tags": {
"mytag": "myval"
}
@@ -13,7 +13,13 @@
"responses": {
"200": {
"body": {
- "properties": {},
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json
index 7698531e5e5a..11144061214c 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json
@@ -13,7 +13,12 @@
"responses": {
"200": {
"body": {
- "properties": {},
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
"location": "northeurope",
"systemData": {
"createdBy": "user1",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json
new file mode 100644
index 000000000000..ab1d98d88c50
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json
@@ -0,0 +1,1890 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-09-08-preview",
+ "title": "AzureDataManagementClient",
+ "description": "The AzureData management API provides a RESTful set of web APIs to manage Azure Data Resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a SQL Managed Instance": {
+ "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a sql Instance tags.": {
+ "$ref": "./examples/UpdateSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlServerInstance.json"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/UpdateSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Postgres Instance.": {
+ "$ref": "./examples/CreateOrUpdatePostgresInstance.json"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a postgres Instances tags.": {
+ "$ref": "./examples/UpdatePostgresInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a subscription.": {
+ "$ref": "./examples/ListSubscriptionDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/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/CloudError"
+ }
+ }
+ },
+ "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.AzureData/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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Data Controller.": {
+ "$ref": "./examples/CreateOrUpdateDataController.json"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "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/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a dataController tags.": {
+ "$ref": "./examples/UpdateDataController.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. Ex - P3. It is typically a letter+number code"
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "Free",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": false
+ },
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A user defined name of the 3rd Party Artifact that is being procured."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic"
+ },
+ "product": {
+ "type": "string",
+ "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. "
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of the desired product/artifact."
+ }
+ },
+ "description": "Plan for the resource.",
+ "required": [
+ "name",
+ "publisher",
+ "product"
+ ]
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "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"
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "PageOfDataControllerResource": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "items": {
+ "$ref": "#/definitions/DataControllerResource"
+ },
+ "type": "array"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to retrieve next page of results."
+ }
+ }
+ },
+ "DataControllerResource": {
+ "description": "Data controller resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataControllerProperties",
+ "description": "The data controller's properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataControllerUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "Used for updating a data controller resource."
+ },
+ "SystemData": {
+ "description": "Read only system data",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "An identifier for the identity that created the resource"
+ },
+ "createdByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that created the resource"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)"
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "An identifier for the identity that last modified the resource"
+ },
+ "lastModifiedByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that last modified the resource"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
+ }
+ }
+ },
+ "IdentityType": {
+ "description": "The type of identity that creates/modifies resources",
+ "type": "string",
+ "enum": [
+ "user",
+ "application",
+ "managedIdentity",
+ "key"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "ResourceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "family": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "tier": {
+ "type": "string"
+ }
+ }
+ },
+ "DataControllerProperties": {
+ "description": "The data controller properties.",
+ "type": "object",
+ "properties": {
+ "onPremiseProperty": {
+ "$ref": "#/definitions/OnPremiseProperty"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from on premise cluster. Defaults to current date time"
+ }
+ },
+ "required": [
+ "onPremiseProperty"
+ ]
+ },
+ "OnPremiseProperty": {
+ "description": "Properties from the on premise data controller",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A globally unique ID identifying the associated on premise cluster"
+ },
+ "publicSigningKey": {
+ "type": "string",
+ "description": "Certificate that contains the on premise cluster public key used to verify signing"
+ },
+ "signingCertificateThumbprint": {
+ "type": "string",
+ "description": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "required": [
+ "id",
+ "publicSigningKey"
+ ]
+ },
+ "PostgresInstanceProperties": {
+ "description": "Postgres Instance properties.",
+ "type": "object",
+ "properties": {
+ "dataControllerId": {
+ "type": "string",
+ "description": "The data controller id"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from on premise cluster. Defaults to current date time"
+ }
+ }
+ },
+ "PostgresInstance": {
+ "description": "A Postgres Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource",
+ "description": "null"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PostgresInstanceProperties",
+ "x-ms-client-flatten": true,
+ "description": "null"
+ }
+ }
+ },
+ "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"
+ },
+ "instanceEndpoint": {
+ "type": "string",
+ "description": "The on premise instance endpoint"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The instance vCore"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from on premise cluster. Defaults to current date time"
+ }
+ }
+ },
+ "SqlManagedInstance": {
+ "description": "A SqlManagedInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlManagedInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "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
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "The time when the resource was last updated.",
+ "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."
+ }
+ },
+ "required": [
+ "version",
+ "edition",
+ "containerResourceId",
+ "vCore",
+ "status"
+ ]
+ },
+ "SqlServerInstance": {
+ "description": "A SqlServerInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlServerInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "null"
+ }
+ },
+ "description": "An error response from the Azure Data service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "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."
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Azure subscription"
+ },
+ "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"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PostgresInstanceNameParameter": {
+ "in": "path",
+ "name": "postgresInstanceName",
+ "description": "The name of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlManagedInstanceNameParameter": {
+ "in": "path",
+ "name": "sqlManagedInstanceName",
+ "description": "The name of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlServerInstanceNameParameter": {
+ "in": "path",
+ "name": "sqlServerInstanceName",
+ "description": "The name of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json
new file mode 100644
index 000000000000..7e6f05d3d656
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2019-09-08-preview",
+ "dataControllerResource": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json
new file mode 100644
index 000000000000..814c5952a8a0
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json
@@ -0,0 +1,133 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2019-09-08-preview",
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "resource": {
+ "location": "eastus",
+ "properties": {
+ "dataControllerId": "dataControllerId",
+ "admin": "admin",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstance/testpostgresInstance",
+ "name": "testpostgresInstance",
+ "type": "Microsoft.AzureData/PostgresInstance"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstance/testpostgresInstance",
+ "name": "testsqlregistration",
+ "type": "Microsoft.AzureData/PostgresInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..ada9ad6f92d1
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2019-09-08-preview",
+ "sqlManagedInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json
new file mode 100644
index 000000000000..d518665361be
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2019-09-08-preview",
+ "sqlServerInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "vCore": "4",
+ "status": "Connected"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json
new file mode 100644
index 000000000000..ab58c52a18e2
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json
new file mode 100644
index 000000000000..9281c59efd2b
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json
new file mode 100644
index 000000000000..f07d23d4e1b0
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json
new file mode 100644
index 000000000000..1574521ae769
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json
new file mode 100644
index 000000000000..9f532d270068
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2019-09-08-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"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json
new file mode 100644
index 000000000000..2a13138b39da
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstances",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstances/testpostgresInstances",
+ "name": "testpostgresInstances",
+ "type": "Microsoft.AzureData/PostgresInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json
new file mode 100644
index 000000000000..c580ac6dd1d3
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json
new file mode 100644
index 000000000000..053724bea5db
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json
new file mode 100644
index 000000000000..5328e05743ba
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-08-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"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json
new file mode 100644
index 000000000000..765965efa0b1
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstances/testpostgresInstances1",
+ "name": "testpostgresInstances1",
+ "type": "Microsoft.AzureData/PostgresInstances"
+ },
+ {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstances/testpostgresInstances2",
+ "name": "testpostgresInstances2",
+ "type": "Microsoft.AzureData/PostgresInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json
new file mode 100644
index 000000000000..24ec32460103
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json
new file mode 100644
index 000000000000..fe367c20dab3
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json
new file mode 100644
index 000000000000..c5d30225fcf7
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2019-09-08-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"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json
new file mode 100644
index 000000000000..cf0d38b56205
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstances/testpostgresInstances1",
+ "name": "testpostgresInstances1",
+ "type": "Microsoft.AzureData/PostgresInstances"
+ },
+ {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstances/testpostgresInstances2",
+ "name": "testpostgresInstances2",
+ "type": "Microsoft.AzureData/PostgresInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json
new file mode 100644
index 000000000000..3efaf7439792
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json
new file mode 100644
index 000000000000..60074dcbba5b
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2019-09-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "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.AzureData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json
new file mode 100644
index 000000000000..f7f27e678d4a
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController1",
+ "api-version": "2019-09-08-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"
+ }
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json
new file mode 100644
index 000000000000..f8164922b7d2
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2019-09-08-preview",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/PostgresInstance/testpostgresInstance",
+ "name": "testpostgresInstance",
+ "type": "Microsoft.AzureData/PostgresInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..37b42b02040e
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2019-09-08-preview",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json
new file mode 100644
index 000000000000..5545f368b407
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2019-09-08-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",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "user",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "user",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/readme.azureresourceschema.md b/specification/azuredata/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..25ab4f9115e8
--- /dev/null
+++ b/specification/azuredata/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azuredata-2020-09-08-preview
+ - tag: schema-azuredata-2019-07-24-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azuredata-2020-09-08-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azuredata-2020-09-08-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json
+
+```
+
+### Tag: schema-azuredata-2019-07-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azuredata-2019-07-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
+
+```
diff --git a/specification/azuredata/resource-manager/readme.md b/specification/azuredata/resource-manager/readme.md
index 4ecacc7c3f4c..c862cca522de 100644
--- a/specification/azuredata/resource-manager/readme.md
+++ b/specification/azuredata/resource-manager/readme.md
@@ -29,6 +29,14 @@ openapi-type: arm
tag: package-preview-2019-07
```
+### Tag: package-preview-2020-09-08
+
+These settings apply only when `--tag=package-preview-2020-09-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-09-08'
+input-file:
+ - Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json
+```
### Tag: package-preview-2019-07
@@ -66,6 +74,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azuredata']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azuredata/resource-manager
```
## Go
@@ -88,26 +99,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
-
-```
+## AzureResourceSchema
-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.
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-``` 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/azurestack/resource-manager/readme.azureresourceschema.md b/specification/azurestack/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1216d57dd7c8
--- /dev/null
+++ b/specification/azurestack/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,27 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azurestack-2017-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azurestack-2017-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-azurestack-2017-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
+ - Microsoft.AzureStack/stable/2017-06-01/Product.json
+ - Microsoft.AzureStack/stable/2017-06-01/Registration.json
+ - Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
+
+```
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index d31ec1ce03e3..34aec4212656 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -75,6 +75,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurestack/resource-manager
```
## C#
@@ -136,30 +139,7 @@ generate-interface: true
See configuration in [readme.python.md](./readme.python.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.AzureStack/stable/2017-06-01/AzureStack.json
- - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/Product.json
- - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/Registration.json
- - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
index cd58d7b6a8cf..f68062eb0abc 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
@@ -50,7 +50,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/OperationList"
+ "$ref": "#/definitions/AvailableOperations"
}
},
"default": {
@@ -387,10 +387,10 @@
"description": "Status of the cluster agent.",
"type": "string",
"enum": [
- "NeverConnected",
+ "NotYetRegistered",
"ConnectedRecently",
"NotConnectedRecently",
- "Expired",
+ "Disconnected",
"Error"
],
"x-ms-enum": {
@@ -425,6 +425,24 @@
"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
}
}
},
@@ -527,60 +545,76 @@
}
}
},
- "OperationList": {
- "description": "List of available operations.",
+ "AvailableOperations": {
+ "description": "Available operations of the service",
"type": "object",
"properties": {
"value": {
- "description": "List of operations.",
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/Operation"
+ "$ref": "#/definitions/OperationDetail"
}
},
"nextLink": {
- "description": "Link to the next set of results.",
- "type": "string",
- "readOnly": true
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
}
}
},
- "Operation": {
- "description": "Operation details.",
+ "OperationDetail": {
+ "description": "Operation detail payload",
"type": "object",
"properties": {
"name": {
- "description": "Name of the operation.",
- "type": "string",
- "readOnly": true
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
},
"display": {
"$ref": "#/definitions/OperationDisplay",
- "description": "Operation properties."
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
}
}
},
"OperationDisplay": {
- "description": "Operation properties.",
+ "description": "Operation display payload",
"type": "object",
"properties": {
"provider": {
- "description": "Resource provider name.",
+ "description": "Resource provider of the operation",
"type": "string"
},
"resource": {
- "description": "Resource type name.",
+ "description": "Resource of the operation",
"type": "string"
},
"operation": {
- "description": "Operation name.",
+ "description": "Localized friendly name for the operation",
"type": "string"
},
"description": {
- "description": "Operation description.",
+ "description": "Localized friendly description for the operation",
"type": "string"
}
}
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
}
},
"parameters": {
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json
index 18082930cca6..3c3f911432ac 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json
@@ -22,7 +22,7 @@
"tags": {},
"properties": {
"provisioningState": "Succeeded",
- "status": "NeverConnected",
+ "status": "NotYetRegistered",
"cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
"aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
"aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json
index bb9598cbed0c..6e67c668fa20 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json
@@ -15,7 +15,7 @@
"tags": {},
"properties": {
"provisioningState": "Succeeded",
- "status": "NeverConnected",
+ "status": "ConnectedRecently",
"cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
"aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
"aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
@@ -61,7 +61,10 @@
"lastUpdated": "2020-03-11T19:24:42.1946017Z"
},
"trialDaysRemaining": 30,
- "billingModel": "Trial"
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
}
}
}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json
index b3caac11f578..8d9243f940fc 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json
@@ -15,7 +15,7 @@
"tags": {},
"properties": {
"provisioningState": "Succeeded",
- "status": "NeverConnected",
+ "status": "NotYetRegistered",
"cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
"aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
"aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
@@ -78,7 +78,10 @@
"lastUpdated": "2020-03-11T19:24:42.1946017Z"
},
"trialDaysRemaining": 30,
- "billingModel": "Trial"
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
}
}
]
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json
index 887c644cc669..07d9c1e094d5 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json
@@ -16,7 +16,7 @@
"tags": {},
"properties": {
"provisioningState": "Succeeded",
- "status": "NeverConnected",
+ "status": "NotYetRegistered",
"cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
"aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
"aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
@@ -79,7 +79,10 @@
"lastUpdated": "2020-03-11T19:24:42.1946017Z"
},
"trialDaysRemaining": 30,
- "billingModel": "Trial"
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
}
}
]
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json
index e7175b8e4413..b3937caf37bd 100644
--- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json
@@ -70,7 +70,10 @@
"lastUpdated": "2020-03-11T19:24:42.1946017Z"
},
"trialDaysRemaining": 30,
- "billingModel": "Trial"
+ "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/stable/2020-10-01/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json
new file mode 100644
index 000000000000..bdb7c992b8de
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json
@@ -0,0 +1,630 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-10-01",
+ "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": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListBySubscription",
+ "x-ms-examples": {
+ "ListClusters": {
+ "$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": {
+ "ListClusters": {
+ "$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": {
+ "GetClusters": {
+ "$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": {
+ "GetClusters": {
+ "$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": {
+ "GetClusters": {
+ "$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/ClusterUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "GetClusters": {
+ "$ref": "./examples/DeleteCluster.json"
+ }
+ },
+ "description": "Delete an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/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": {
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterProperties": {
+ "description": "Cluster properties.",
+ "type": "object",
+ "required": [
+ "aadClientId",
+ "aadTenantId"
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the cluster agent.",
+ "type": "string",
+ "enum": [
+ "NotYetRegistered",
+ "ConnectedRecently",
+ "NotConnectedRecently",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "cloudId": {
+ "description": "Unique, immutable resource id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadClientId": {
+ "description": "App id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Tenant id of cluster AAD identity.",
+ "type": "string"
+ },
+ "reportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "$ref": "#/definitions/ClusterReportedProperties"
+ },
+ "trialDaysRemaining": {
+ "description": "Number of days remaining in the trial period.",
+ "type": "number",
+ "readOnly": true
+ },
+ "billingModel": {
+ "description": "Type of billing applied to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationTimestamp": {
+ "description": "First cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastSyncTimestamp": {
+ "description": "Most recent cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastBillingTimestamp": {
+ "description": "Most recent billing meter timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterReportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "type": "object",
+ "properties": {
+ "clusterName": {
+ "description": "Name of the on-prem cluster connected to this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterId": {
+ "description": "Unique id generated by the on-prem cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterVersion": {
+ "description": "Version of the cluster software.",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "List of nodes reported by the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterNode"
+ },
+ "readOnly": true
+ },
+ "lastUpdated": {
+ "description": "Last time the cluster reported the data.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterNode": {
+ "description": "Cluster node details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the node in the cluster.",
+ "type": "number",
+ "readOnly": true
+ },
+ "manufacturer": {
+ "description": "Manufacturer of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "model": {
+ "description": "Model name of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "Operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osVersion": {
+ "description": "Version of the operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Immutable id of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "coreCount": {
+ "description": "Number of physical cores on the cluster node.",
+ "type": "number",
+ "readOnly": true
+ },
+ "memoryInGiB": {
+ "description": "Total available memory on the cluster node (in GiB).",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterUpdate": {
+ "description": "Cluster details to update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ }
+ },
+ "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/stable/2020-10-01/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/CreateCluster.json
new file mode 100644
index 000000000000..c41cd8a2e52e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/CreateCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-10-01",
+ "cluster": {
+ "location": "East US",
+ "properties": {
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json
new file mode 100644
index 000000000000..b0a231f2d232
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json
new file mode 100644
index 000000000000..449f80e35488
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json
new file mode 100644
index 000000000000..fd2dcdcf0015
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2020-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json
new file mode 100644
index 000000000000..4c2a50dda8ea
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2020-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg1/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg2/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json
new file mode 100644
index 000000000000..324a193b5145
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-10-01",
+ "cluster": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/readme.azureresourceschema.md b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..2525a859d162
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azurestackhci-2020-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azurestackhci-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azurestackhci-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
+
+```
diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md
index fddd0e002a49..6d7b9a0233d3 100644
--- a/specification/azurestackhci/resource-manager/readme.go.md
+++ b/specification/azurestackhci/resource-manager/readme.go.md
@@ -12,9 +12,20 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-10
- tag: package-2020-03-01-preview
```
+### Tag: package-2020-10 and go
+
+These settings apply only when `--tag=package-2020-10 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-10' && $(go)
+namespace: azurestackhci
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-01/$(namespace)
+```
+
### Tag: package-2020-03-01-preview and go
These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line.
diff --git a/specification/azurestackhci/resource-manager/readme.java.md b/specification/azurestackhci/resource-manager/readme.java.md
new file mode 100644
index 000000000000..bf96908f4e24
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.java.md
@@ -0,0 +1,36 @@
+## 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.azurestackhci
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azurestackhci
+```
+
+# Validation
+
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-10
+```
+
+### Tag: package-2020-10 and java
+
+These settings apply only when `--tag=package-2020-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.azurestackhci.v2020_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/azurestackhci/mgmt-v2020_10_01
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md
index d30f27d90903..64b34d2f9f98 100644
--- a/specification/azurestackhci/resource-manager/readme.md
+++ b/specification/azurestackhci/resource-manager/readme.md
@@ -24,27 +24,36 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
These are the global settings for the azurestackhci.
-```yaml
+``` yaml
title: AzureStackHCIClient
description: Azure Stack HCI management service
openapi-type: arm
-tag: package-2020-03-01-preview
+tag: package-2020-10
```
## Suppression
-```yaml
+``` yaml
directive:
- suppress: R3020
from: azurestackhci.json
reason: Microsoft.AzureStackHCI is the correct name for our RP.
```
+
+### Tag: package-2020-10
+
+These settings apply only when `--tag=package-2020-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10'
+input-file:
+ - 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.
-```yaml $(tag) == 'package-2020-03-01-preview'
+``` yaml $(tag) == 'package-2020-03-01-preview'
input-file:
- Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
```
@@ -58,7 +67,7 @@ input-file:
This section describes what SDK should be generated by the automatic system.
This is not used by Autorest itself.
-```yaml $(swagger-to-sdk)
+``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-java
@@ -67,12 +76,19 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurestackhci/resource-manager
```
## Go
See configuration in [readme.go.md](./readme.go.md)
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
## Python
See configuration in [readme.python.md](./readme.python.md)
@@ -89,27 +105,6 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+## AzureResourceSchema
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.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
new file mode 100644
index 000000000000..7e70ac58553f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
@@ -0,0 +1,835 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-08-06-preview",
+ "title": "bareMetalInfrastructureClient",
+ "description": "The BareMetalInfrastructure Management client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/start": {
+ "post": {
+ "description": "The operation to start an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Start",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Start.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/restart": {
+ "post": {
+ "description": "The operation to restart an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Restart",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restart an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Restart.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/shutdown": {
+ "post": {
+ "description": "The operation to shutdown an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Shutdown",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Shutdown an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Shutdown.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": {
+ "get": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_ListBySubscription",
+ "summary": "Gets a list of Azure BareMetal instances in the specified subscription.",
+ "description": "Gets a list of AzureBareMetal instances in the specified subscription. The operations returns various properties of each Azure BareMetal instance.",
+ "x-ms-examples": {
+ "List all AzureBareMetal instances in a subscription": {
+ "$ref": "./examples/AzureBareMetalInstances_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": {
+ "get": {
+ "operationId": "AzureBareMetalInstances_List",
+ "description": "Gets a list of AzureBareMetal instances in the specified subscription and resource group",
+ "x-ms-examples": {
+ "List all AzureBareMetal instances in a resource group": {
+ "$ref": "./examples/AzureBareMetalInstances_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.BareMetalInfrastructure/operations": {
+ "get": {
+ "tags": [
+ "AzureBareMetal"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List all management operations supported by the AzureBareMetal RP": {
+ "$ref": "./examples/AzureBareMetalOperations_List.json"
+ }
+ },
+ "description": "Gets a list of AzureBareMetal management operations.",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}": {
+ "get": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Get",
+ "summary": "Gets an Azure BareMetal instance.",
+ "description": "Gets an Azure BareMetal instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Get an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Delete",
+ "x-ms-long-running-operation": true,
+ "summary": "Deletes a Azure BareMetal instance.",
+ "description": "Deletes a Azure BareMetal instance with the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Delete an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Deleted AzureBareMetalInstance"
+ },
+ "202": {
+ "description": "Deleting AzureBareMetalInstance"
+ },
+ "204": {
+ "description": "No AzureBareMetalInstance to delete"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Update",
+ "summary": "Patches the Tags field of a Azure BareMetal instance.",
+ "description": "Patches the Tags field of a Azure BareMetal instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Update Tags field of an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_PatchTags.json"
+ },
+ "Delete Tags field of an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_PatchTags_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AzureBareMetalInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureBareMetalInstancesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ },
+ "description": "The list of Azure BareMetal instances."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of AzureBareMetal instances."
+ }
+ },
+ "description": "The response from the List AzureBareMetal Instances operation."
+ },
+ "AzureBareMetalInstance": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureBareMetalInstanceProperties",
+ "description": "AzureBareMetal instance properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "AzureBareMetal instance info on Azure (ARM properties and AzureBareMetal properties)"
+ },
+ "AzureBareMetalInstanceProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the AzureBareMetal instance."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the AzureBareMetal instance disks."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the AzureBareMetal instance."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network settings for the AzureBareMetal instance."
+ },
+ "azureBareMetalInstanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AzureBareMetal instance unique ID."
+ },
+ "powerState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "starting",
+ "started",
+ "stopping",
+ "stopped",
+ "restarting",
+ "unknown"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalInstancePowerStateEnum",
+ "modelAsString": true
+ },
+ "description": "Resource power state"
+ },
+ "proximityPlacementGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource proximity placement group"
+ },
+ "hwRevision": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hardware revision of an AzureBareMetal instance"
+ },
+ "partnerNodeId": {
+ "type": "string",
+ "description": "ARM ID of another AzureBareMetalInstance that will share a network with this AzureBareMetalInstance"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalProvisioningStatesEnum",
+ "modelAsString": true
+ },
+ "description": "State of provisioning of the AzureBareMetalInstance"
+ }
+ },
+ "description": "Describes the properties of an AzureBareMetal instance."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "hardwareType": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Cisco_UCS",
+ "HPE"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalHardwareTypeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Name of the hardware type (vendor and/or their product name)"
+ },
+ "azureBareMetalInstanceSize": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "S72m",
+ "S144m",
+ "S72",
+ "S144",
+ "S192",
+ "S192m",
+ "S192xm",
+ "S96",
+ "S112",
+ "S224",
+ "S224m",
+ "S224om",
+ "S224oo",
+ "S224oom",
+ "S224ooo",
+ "S384",
+ "S384m",
+ "S384xm",
+ "S384xxm",
+ "S448",
+ "S448m",
+ "S448om",
+ "S448oo",
+ "S448oom",
+ "S448ooo",
+ "S576m",
+ "S576xm",
+ "S672",
+ "S672m",
+ "S672om",
+ "S672oo",
+ "S672oom",
+ "S672ooo",
+ "S768",
+ "S768m",
+ "S768xm",
+ "S896",
+ "S896m",
+ "S896om",
+ "S896oo",
+ "S896oom",
+ "S896ooo",
+ "S960m"
+ ],
+ "x-ms-enum": {
+ "name": "azureBareMetalInstanceSizeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Specifies the AzureBareMetal instance SKU."
+ }
+ },
+ "description": "Specifies the hardware settings for the AzureBareMetal instance."
+ },
+ "Disk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes."
+ },
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Specifies the disk information fo the AzureBareMetal instance"
+ },
+ "StorageProfile": {
+ "properties": {
+ "nfsIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "IP Address to connect to storage."
+ },
+ "osDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Specifies information about the operating system disk used by baremetal instance."
+ }
+ },
+ "description": "Specifies the storage settings for the AzureBareMetal instance disks."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "Specifies the host OS name of the AzureBareMetal instance."
+ },
+ "osType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS."
+ },
+ "version": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies version of operating system."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "description": "Specifies the SSH public key used to access the operating system."
+ }
+ },
+ "description": "Specifies the operating system settings for the AzureBareMetal instance."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddress"
+ },
+ "description": "Specifies the network interfaces for the AzureBareMetal instance."
+ },
+ "circuitId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the circuit id for connecting to express route."
+ }
+ },
+ "description": "Specifies the network settings for the AzureBareMetal instance disks."
+ },
+ "IpAddress": {
+ "properties": {
+ "ipAddress": {
+ "type": "string",
+ "description": "Specifies the IP address of the network interface."
+ }
+ },
+ "description": "Specifies the IP address of the network interface."
+ },
+ "OperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of AzureBareMetal operations"
+ }
+ },
+ "description": "List of AzureBareMetal operations"
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service."
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Displayed AzureBareMetal operation information"
+ },
+ "isDataAction": {
+ "description": "indicates whether an operation is a data action or not.",
+ "type": "boolean"
+ }
+ },
+ "description": "AzureBareMetal operation information"
+ },
+ "Result": {
+ "description": "Sample result definition",
+ "properties": {
+ "sampleProperty": {
+ "type": "string",
+ "description": "Sample property of type string"
+ }
+ }
+ },
+ "Display": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with \"Microsoft\" for 1st party services."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views."
+ },
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'"
+ }
+ },
+ "description": "Detailed BareMetal operation information"
+ },
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags field of the AzureBareMetal instance."
+ }
+ },
+ "description": "Tags field of the AzureBareMetal instance."
+ }
+ },
+ "parameters": {
+ "AzureBareMetalInstanceNameParameter": {
+ "name": "azureBareMetalInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Azure BareMetal on Azure instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tagsParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tags"
+ },
+ "description": "Request body that only contains the new Tags field",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json
new file mode 100644
index 000000000000..f4506a990d9a
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myAzureBareMetalInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json
new file mode 100644
index 000000000000..0429abd084e6
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myAzureBareMetalInstance"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json
new file mode 100644
index 000000000000..9c82f4fd729f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1",
+ "name": "myABMInstance1",
+ "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName1",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance2",
+ "name": "myABMInstance2",
+ "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "HPE",
+ "azureBareMetalInstanceSize": "S384"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.101"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.201"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json
new file mode 100644
index 000000000000..412a064ac5ad
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance1",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance2",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json
new file mode 100644
index 000000000000..5f0080e409f2
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance",
+ "tagsParameter": {
+ "tags": {
+ "testkey": "testvalue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance",
+ "name": "myABMInstance",
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "testkey": "testvalue"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json
new file mode 100644
index 000000000000..badfe29783ac
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance",
+ "tagsParameter": {
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance",
+ "name": "myABMInstance",
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json
new file mode 100644
index 000000000000..1821117de8f1
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AzureBareMetalOp1",
+ "display": {
+ "provider": "AzureBareMetalOp1ProviderName",
+ "resource": "AzureBareMetalOp1ResourceName",
+ "operation": "AzureBareMetalOp1OperationName",
+ "description": "AzureBareMetalOp1Description",
+ "origin": "AzureBareMetalOp1Origin"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "AzureBareMetalOp2",
+ "display": {
+ "provider": "AzureBareMetalOp2ProviderName",
+ "resource": "AzureBareMetalOp2ResourceName",
+ "operation": "AzureBareMetalOp2OperationName",
+ "description": "AzureBareMetalOp2Description",
+ "origin": "AzureBareMetalOp2Origin"
+ },
+ "isDataAction": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md b/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..0228f0a806a3
--- /dev/null
+++ b/specification/baremetalinfrastructure/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-baremetalinfrastructure-2020-08-06-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-baremetalinfrastructure-2020-08-06-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-baremetalinfrastructure-2020-08-06-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
+
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.csharp.md b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..8399c777f44f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md
@@ -0,0 +1,15 @@
+## C
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ client-side-validation: false
+ namespace: Microsoft.BareMetalInfrastructure
+ output-folder: $(csharp-sdks-folder)/baremetalinfrastructure/management/Microsoft.BareMetalInfrastructure/GeneratedProtocol
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md
new file mode 100644
index 000000000000..1677cc7854ec
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Tag: package-2020-08-06-preview and go
+
+These settings apply only when `--tag=package-2020-08-06-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-08-06-preview' && $(go)
+namespace: baremetalinfrastructure
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-06-preview/$(namespace)
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.md b/specification/baremetalinfrastructure/resource-manager/readme.md
new file mode 100644
index 000000000000..a56160acb966
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.md
@@ -0,0 +1,80 @@
+# BareMetalInfrastructure
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for BareMetalInfrastructure.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the BareMetalInfrastructure API.
+
+```yaml
+openapi-type: arm
+tag: package-2020-08-06-preview
+```
+
+### Tag: package-2020-08-06-preview
+
+These settings apply only when `--tag=package-2020-08-06-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-08-06-preview'
+input-file:
+ - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_baremetalinfrastructure']
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md
new file mode 100644
index 000000000000..3048a78804d7
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md
@@ -0,0 +1,43 @@
+## 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.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)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-baremetalinfrastructure
+no-namespace-folders: true
+package-version: 0.1.0
+```
+
+``` yaml $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure
+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
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure
+```
\ No newline at end of file
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.ruby.md b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..1c290102b63f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_baremetalinfrastructure
+package-version: 2020-08-06-preview
+azure-arm: true
+```
+
+### Tag: package-2020-08-06-preview and ruby
+
+These settings apply only when `--tag=package-2020-08-06-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-08-06-preview' && $(ruby)
+namespace: Microsoft.BareMetalInfrastructure
+output-folder: $(ruby-sdks-folder)/baremetalinfrastructure
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.typescript.md b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..8fbf13c9da70
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "baremetalinfrastructure"
+ output-folder: "$(typescript-sdks-folder)/packages/baremetalinfrastructure"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
index 4cb90f36b1e5..166919d73a79 100644
--- a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
@@ -574,7 +574,7 @@
"Accounts"
],
"operationId": "Account_ListPoolNodeCounts",
- "description": "Gets the number of Compute Nodes in each state, grouped by Pool.",
+ "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.",
"x-ms-examples": {
"NodeCountsPayload": {
"$ref": "./examples/AccountListPoolNodeCounts.json"
@@ -5875,7 +5875,7 @@
}
},
"summary": "Gets the Task counts for the specified Job.",
- "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running.",
+ "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -15822,7 +15822,8 @@
"destination",
"uploadOptions"
],
- "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process."
+ "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.",
+ "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure."
},
"OutputFileDestination": {
"properties": {
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
new file mode 100644
index 000000000000..2e43550bd55e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
@@ -0,0 +1,16718 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchService",
+ "version": "2020-09-01.12.0",
+ "description": "A client for issuing REST requests to the Azure Batch service.",
+ "x-ms-code-generation-settings": {
+ "name": "BatchServiceClient"
+ }
+ },
+ "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 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"
+ }
+ },
+ "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.",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PoolUsageMetrics": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 using anonymous access; that is, the Batch service does not present any credentials when downloading blobs from the container. There are two 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, 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 using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, 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."
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a Compute Node."
+ },
+ "EnvironmentSetting": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 must be 1."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 targetDedicateNodes 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": {
+ "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": {
+ "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": {
+ "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ },
+ "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": {
+ "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "required": [
+ "nodeAgentSKUId",
+ "imageReference"
+ ],
+ "title": "The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "properties": {
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "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."
+ }
+ },
+ "required": [
+ "username",
+ "password"
+ ],
+ "title": "A private container registry."
+ },
+ "ContainerConfiguration": {
+ "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": {
+ "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 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": "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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 targetDedicateNodes 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."
+ }
+ },
+ "title": "A Pool in the Azure Batch service."
+ },
+ "PoolAddParameter": {
+ "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 targetDedicateNodes 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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubtaskInformation"
+ },
+ "title": "The list of subtasks."
+ }
+ },
+ "title": "The result of listing the subtasks of a Task."
+ },
+ "CloudTaskListResult": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "title": "A Compute Node in the Batch service."
+ },
+ "PoolEndpointConfiguration": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": "The URL must include a Shared Access Signature (SAS) granting write permissions to the container."
+ }
+ },
+ "required": [
+ "containerUrl"
+ ],
+ "title": "Specifies a file upload destination within an Azure blob storage container."
+ },
+ "OutputFileUploadOptions": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": "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."
+ }
+ },
+ "required": [
+ "containerUrl",
+ "startTime"
+ ],
+ "title": "The Azure Batch service log files upload configuration for a Compute Node."
+ },
+ "UploadBatchServiceLogsResult": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 sasKey and one must be specified."
+ },
+ "sasKey": {
+ "type": "string",
+ "title": "The Azure Storage SAS token.",
+ "description": "This property is mutually exclusive with accountKey and 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."
+ }
+ },
+ "required": [
+ "accountName",
+ "containerName",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Storage Container using Blobfuse."
+ },
+ "NFSMountConfiguration": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "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/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json
new file mode 100644
index 000000000000..fd5329b8a55d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/AccountListSupportedImages.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListSupportedImages.json
new file mode 100644
index 000000000000..9e44b35f461f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListSupportedImages.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/ApplicationGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationGet.json
new file mode 100644
index 000000000000..c668e0cc8b5c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/ApplicationList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationList.json
new file mode 100644
index 000000000000..6da4a4f8240c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/CertificateAdd.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateAdd.json
new file mode 100644
index 000000000000..51d9f44dc128
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateAdd.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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": "certpassword"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json
new file mode 100644
index 000000000000..5d12eb51782d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/CertificateDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateDelete.json
new file mode 100644
index 000000000000..d9a41ac18fd7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/CertificateGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateGet.json
new file mode 100644
index 000000000000..4edfd98d70ec
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/CertificateList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateList.json
new file mode 100644
index 000000000000..505982b557ec
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileDeleteFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromNode.json
new file mode 100644
index 000000000000..7e50e97535b7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromNode.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileDeleteFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromTask.json
new file mode 100644
index 000000000000..83cdc5d8a44d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromTask.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileGetFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromNode.json
new file mode 100644
index 000000000000..5c8caab50236
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromNode.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileGetFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromTask.json
new file mode 100644
index 000000000000..d91097ed9b81
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromTask.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json
new file mode 100644
index 000000000000..4018bb01a152
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json
new file mode 100644
index 000000000000..94a53b325051
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileListFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromNode.json
new file mode 100644
index 000000000000..4f7a05445642
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromNode.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/FileListFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromTask.json
new file mode 100644
index 000000000000..641cb5c09b2c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromTask.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Basic.json
new file mode 100644
index 000000000000..bb1e4709ff40
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Basic.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Complex.json
new file mode 100644
index 000000000000..dd0de6b2d6a7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Complex.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDelete.json
new file mode 100644
index 000000000000..3b296a3c42c6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDisable.json
new file mode 100644
index 000000000000..76e59fa0de45
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDisable.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobEnable.json
new file mode 100644
index 000000000000..3b296a3c42c6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGet.json
new file mode 100644
index 000000000000..b27d2338b3f9
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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,
+ "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/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json
new file mode 100644
index 000000000000..906a39988de6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobGetTaskCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetTaskCounts.json
new file mode 100644
index 000000000000..2a4691f25abb
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetTaskCounts.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobList.json
new file mode 100644
index 000000000000..43990e520346
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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,
+ "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/2020-09-01.12.0/examples/JobListFromJobSchedule.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListFromJobSchedule.json
new file mode 100644
index 000000000000..67c7d3b4a2ea
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListFromJobSchedule.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json
new file mode 100644
index 000000000000..396b2e4581f1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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=2020-09-01.12.0"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json
new file mode 100644
index 000000000000..2e28d3734615
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json
new file mode 100644
index 000000000000..8cef6bca6462
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json
new file mode 100644
index 000000000000..3a0ab999490a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDelete.json
new file mode 100644
index 000000000000..14e0811ce888
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDisable.json
new file mode 100644
index 000000000000..287b1c271025
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDisable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleEnable.json
new file mode 100644
index 000000000000..287b1c271025
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleExists.json
new file mode 100644
index 000000000000..93bcdd818777
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleGet.json
new file mode 100644
index 000000000000..b169b3bef501
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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,
+ "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/2020-09-01.12.0/examples/JobScheduleList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleList.json
new file mode 100644
index 000000000000..6cd0731819cc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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,
+ "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,
+ "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/2020-09-01.12.0/examples/JobSchedulePatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobSchedulePatch.json
new file mode 100644
index 000000000000..81a5508137af
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobSchedulePatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleTerminate.json
new file mode 100644
index 000000000000..14e0811ce888
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleTerminate.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobScheduleUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleUpdate.json
new file mode 100644
index 000000000000..f87cd8150731
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobTerminate.json
new file mode 100644
index 000000000000..57f565f320b1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobTerminate.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/JobUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobUpdate.json
new file mode 100644
index 000000000000..4719db878b12
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobUpdate.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeAddUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeAddUser.json
new file mode 100644
index 000000000000..a7ab64e40b13
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeAddUser.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeDeleteUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDeleteUser.json
new file mode 100644
index 000000000000..b0bee107d329
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDeleteUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeDisableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDisableScheduling.json
new file mode 100644
index 000000000000..d079cb68ef08
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDisableScheduling.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeEnableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeEnableScheduling.json
new file mode 100644
index 000000000000..621b7944c0bd
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeEnableScheduling.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json
new file mode 100644
index 000000000000..e12b60648ab5
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json
new file mode 100644
index 000000000000..5241f16fd45b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGet_Basic.json
new file mode 100644
index 000000000000..d15497f19b9f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.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": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeList.json
new file mode 100644
index 000000000000..4b2668f99f15
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeList.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeReboot.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReboot.json
new file mode 100644
index 000000000000..964687451745
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReboot.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeReimage.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReimage.json
new file mode 100644
index 000000000000..2afb95c328ca
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReimage.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeUpdateUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUpdateUser.json
new file mode 100644
index 000000000000..c2e2a1e45e92
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUpdateUser.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json
new file mode 100644
index 000000000000..ac9bf2557395
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json
new file mode 100644
index 000000000000..fcb99e19c195
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json
new file mode 100644
index 000000000000..57f9c0f2f58c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.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/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..5bc7a4b886e0
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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": "UbuntuServer",
+ "sku": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.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/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
new file mode 100644
index 000000000000..88bca975c31f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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": "UbuntuServer",
+ "sku": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.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/2020-09-01.12.0/examples/PoolDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDelete.json
new file mode 100644
index 000000000000..ccc0b81b402e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolDisableAutoScale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..1114a1ce73e3
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDisableAutoScale.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolEnableAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEnableAutoscale.json
new file mode 100644
index 000000000000..f9308dbcd95f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEnableAutoscale.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json
new file mode 100644
index 000000000000..15e17c4821cd
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolExists.json
new file mode 100644
index 000000000000..041fca2f0bff
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json
new file mode 100644
index 000000000000..2f804d1809aa
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGet_Basic.json
new file mode 100644
index 000000000000..b397fd8c028e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGet_Basic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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": "UbuntuServer",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.04"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json
new file mode 100644
index 000000000000..64b854240086
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolList_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolList_Basic.json
new file mode 100644
index 000000000000..9871ed2b00a9
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolList_Basic.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolPatch.json
new file mode 100644
index 000000000000..b5f4a7e33be4
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolPatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolRemoveNodes.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolRemoveNodes.json
new file mode 100644
index 000000000000..ec5a7f4d40ed
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolRemoveNodes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolResize.json
new file mode 100644
index 000000000000..d6abe2d54922
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolResize.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolStopResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolStopResize.json
new file mode 100644
index 000000000000..ccc0b81b402e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolStopResize.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/PoolUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolUpdate.json
new file mode 100644
index 000000000000..4be088f9c864
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAddCollection_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Basic.json
new file mode 100644
index 000000000000..f6f783ad9dcc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Basic.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAddCollection_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Complex.json
new file mode 100644
index 000000000000..5a30f66ebcc9
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Complex.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_Basic.json
new file mode 100644
index 000000000000..4f57f322e72d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_Basic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json
new file mode 100644
index 000000000000..53369b6c6967
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json
new file mode 100644
index 000000000000..254568f2be10
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json
new file mode 100644
index 000000000000..927722fab1c5
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskDelete.json
new file mode 100644
index 000000000000..e3bcdf4f63b6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskGet.json
new file mode 100644
index 000000000000..eb32de875da8
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskList.json
new file mode 100644
index 000000000000..520c4a707c8f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskListSubtasks.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskListSubtasks.json
new file mode 100644
index 000000000000..e259e7461712
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskListSubtasks.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskReactivate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskReactivate.json
new file mode 100644
index 000000000000..22e0815189c1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskReactivate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskTerminate.json
new file mode 100644
index 000000000000..22e0815189c1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskTerminate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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/2020-09-01.12.0/examples/TaskUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskUpdate.json
new file mode 100644
index 000000000000..f46819eb85f6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2020-09-01.12.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 3f970038d20a..ce9f53e4369b 100644
--- a/specification/batch/data-plane/readme.go.md
+++ b/specification/batch/data-plane/readme.go.md
@@ -20,6 +20,16 @@ batch:
- tag: package-2019-06.9.0
- tag: package-2019-08.10.0
- tag: package-2020-03.11.0
+ - tag: package-2020-09.12.0
+```
+
+### Tag: package-2020-09.12.0 and go
+
+These settings apply only when `--tag=package-2020-09.12.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-09.12.0' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/2020-09-01.12.0/$(namespace)
```
### Tag: package-2020-03.11.0 and go
diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md
index adfd75a18255..d3d4c786623f 100644
--- a/specification/batch/data-plane/readme.md
+++ b/specification/batch/data-plane/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the Batch API.
``` yaml
openapi-type: data-plane
-tag: package-2020-03.11.0
+tag: package-2020-09.12.0
+```
+
+### Tag: package-2020-09.12.0
+
+These settings apply only when `--tag=package-2020-09.12.0` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09.12.0'
+input-file:
+- Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
```
### Tag: package-2020-03.11.0
@@ -360,6 +369,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2019-08-01.10.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2019-06-01.9.0/BatchService.json
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json
new file mode 100644
index 000000000000..b17f00cf9811
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json
@@ -0,0 +1,5147 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchManagement",
+ "version": "2020-09-01",
+ "x-ms-code-generation-settings": {
+ "name": "BatchManagementClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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.",
+ "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"
+ }
+ },
+ "description": "Regenerates the specified account key for the Batch account.",
+ "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 created with a poolAllocationMode of 'BatchService'. If the Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to authenticate, and must use Azure Active Directory 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 the SAS where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used.",
+ "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": {
+ "ApplicationList": {
+ "$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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "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."
+ },
+ "204": {
+ "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"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "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"
+ }
+ },
+ "204": {
+ "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"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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 Example": {
+ "$ref": "./examples/PoolCreate_FullExample.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"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "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."
+ },
+ "204": {
+ "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"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Get",
+ "description": "Gets information about the specified pool.",
+ "x-ms-examples": {
+ "GetPool": {
+ "$ref": "./examples/PoolGet.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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AutoStorageBaseProperties": {
+ "properties": {
+ "storageAccountId": {
+ "type": "string",
+ "description": "The resource ID of the storage account to be used for auto-storage account."
+ }
+ },
+ "required": [
+ "storageAccountId"
+ ],
+ "description": "The properties related to the auto-storage account."
+ },
+ "BatchAccountUpdateProperties": {
+ "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"
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "BatchAccountCreateProperties": {
+ "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"
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "BatchAccountCreateParameters": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Batch account has a system assigned identity with it."
+ },
+ {
+ "value": "None",
+ "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration.",
+ "required": [
+ "type"
+ ]
+ },
+ "BatchAccountProperties": {
+ "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 the core quota for the Batch Account is enforced per Virtual Machine family or not.",
+ "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."
+ }
+ },
+ "description": "Account specific properties."
+ },
+ "BatchAccount": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "The format of the application package binary file."
+ }
+ },
+ "required": [
+ "format"
+ ],
+ "description": "Parameters for an activating an application package."
+ },
+ "Application": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PoolProperties",
+ "description": "The properties associated with the pool."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a pool."
+ },
+ "PoolProperties": {
+ "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."
+ },
+ "DeploymentConfiguration": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "required": [
+ "imageReference",
+ "nodeAgentSkuId"
+ ],
+ "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "properties": {
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "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."
+ }
+ },
+ "required": [
+ "username",
+ "password"
+ ],
+ "title": "A private container registry."
+ },
+ "DiskEncryptionConfiguration": {
+ "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": {
+ "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."
+ },
+ "WindowsConfiguration": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its 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 is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, 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."
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a compute node."
+ },
+ "EnvironmentSetting": {
+ "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": {
+ "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."
+ },
+ "AutoUserSpecification": {
+ "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."
+ }
+ ]
+ }
+ },
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete, 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.",
+ "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": {
+ "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": {
+ "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": {
+ "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": {
+ "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 sasKey and one must be specified."
+ },
+ "sasKey": {
+ "type": "string",
+ "title": "The Azure Storage SAS token.",
+ "description": "This property is mutually exclusive with accountKey and 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."
+ }
+ },
+ "required": [
+ "accountName",
+ "containerName",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Storage Container using Blobfuse."
+ },
+ "NFSMountConfiguration": {
+ "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": {
+ "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": {
+ "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."
+ }
+ },
+ "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/2020-09-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationCreate.json
new file mode 100644
index 000000000000..6b8e8cd6dc8c
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationDelete.json
new file mode 100644
index 000000000000..9b227efde0f1
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json
new file mode 100644
index 000000000000..741f95bce72b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationList.json
new file mode 100644
index 000000000000..469e7cb6537e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageActivate.json
new file mode 100644
index 000000000000..a83232097169
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageActivate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageCreate.json
new file mode 100644
index 000000000000..309a702809e9
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageDelete.json
new file mode 100644
index 000000000000..6bcf59ddc31e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json
new file mode 100644
index 000000000000..f3056d495ef3
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageList.json
new file mode 100644
index 000000000000..65a151f160bb
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationUpdate.json
new file mode 100644
index 000000000000..b8c547c50f69
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_BYOS.json
new file mode 100644
index 000000000000..432f68c14f1f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_BYOS.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_Default.json
new file mode 100644
index 000000000000..3a615a73bbb3
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_Default.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json
new file mode 100644
index 000000000000..ccece80c6834
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountDelete.json
new file mode 100644
index 000000000000..10eaf26f009a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json
new file mode 100644
index 000000000000..30f14fa187c2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGetKeys.json
new file mode 100644
index 000000000000..7ab92a5b58e6
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGetKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountName": "sampleacct",
+ "primary": "AAAA==",
+ "secondary": "BBBB=="
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json
new file mode 100644
index 000000000000..703fc01822af
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountListByResourceGroup.json
new file mode 100644
index 000000000000..15a83c30b5b9
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountListByResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountRegenerateKey.json
new file mode 100644
index 000000000000..84ec60d93d81
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountRegenerateKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
new file mode 100644
index 000000000000..409b0dcc2a60
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json
new file mode 100644
index 000000000000..019431d6ed87
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCancelDeletion.json
new file mode 100644
index 000000000000..7c6934776ce4
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCancelDeletion.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Full.json
new file mode 100644
index 000000000000..8d2d14c40ed4
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Full.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": "KG0UY40e...",
+ "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/2020-09-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Minimal.json
new file mode 100644
index 000000000000..51cbabcd15c2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Minimal.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": "KG0UY40e..."
+ }
+ }
+ },
+ "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/2020-09-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_MinimalCer.json
new file mode 100644
index 000000000000..72ebf221b8f9
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_MinimalCer.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateDelete.json
new file mode 100644
index 000000000000..000c37203a5f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2020-09-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=2020-09-01"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json
new file mode 100644
index 000000000000..ada646b1975b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGetWithDeletionError.json
new file mode 100644
index 000000000000..9ec5852cb349
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGetWithDeletionError.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateList.json
new file mode 100644
index 000000000000..951e5eb3f632
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2020-09-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=2020-09-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json
new file mode 100644
index 000000000000..e1b16b5bb131
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2020-09-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/2020-09-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateUpdate.json
new file mode 100644
index 000000000000..51cbabcd15c2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": "KG0UY40e..."
+ }
+ }
+ },
+ "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/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json
new file mode 100644
index 000000000000..7e1fdb190047
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_Available.json
new file mode 100644
index 000000000000..ef9e76d6a14d
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_Available.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationGetQuotas.json
new file mode 100644
index 000000000000..c81c5a8a984b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationGetQuotas.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountQuota": 1
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json
new file mode 100644
index 000000000000..9e39e88a3411
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json
@@ -0,0 +1,285 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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"
+ ]
+ },
+ "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": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "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": "examplepassword",
+ "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"
+ ]
+ },
+ "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
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
new file mode 100644
index 000000000000..17b557d1e4db
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
new file mode 100644
index 000000000000..923e04acfa53
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json
new file mode 100644
index 000000000000..db0df277c332
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolCreate_PublicIPs.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_PublicIPs.json
new file mode 100644
index 000000000000..9ee19fa36fae
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_PublicIPs.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolCreate_SharedImageGallery.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_SharedImageGallery.json
new file mode 100644
index 000000000000..0ef1defe82af
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_SharedImageGallery.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..21ac6ac44143
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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/2020-09-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDelete.json
new file mode 100644
index 000000000000..dfb2985cdb22
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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=2020-09-01"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..54cab4d6b157
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolGet.json
new file mode 100644
index 000000000000..293739c4017e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolGet.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolList.json
new file mode 100644
index 000000000000..a6f3b005dd85
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolListWithFilter.json
new file mode 100644
index 000000000000..778c32c45df0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolListWithFilter.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolStopResize.json
new file mode 100644
index 000000000000..436f16ba43ac
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolStopResize.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_EnableAutoScale.json
new file mode 100644
index 000000000000..9bf3dbb6bf59
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_EnableAutoScale.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_OtherProperties.json
new file mode 100644
index 000000000000..ef414fb391d0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_OtherProperties.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_RemoveStartTask.json
new file mode 100644
index 000000000000..5db6199f7eef
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_RemoveStartTask.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_ResizePool.json
new file mode 100644
index 000000000000..7e1684e024b3
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_ResizePool.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateBatchAccountCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountCreate.json
new file mode 100644
index 000000000000..716388d7893c
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateBatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountGet.json
new file mode 100644
index 000000000000..1071b24004f3
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..f17e8b69bf4e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-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": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..9809c2408861
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-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": "2020-09-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=2020-09-01"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..708f8a563405
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateEndpointConnectionName": "testprivateEndpointConnection",
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateLinkResourceGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..f6176752cb4f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateLinkResourceName": "sampleacct",
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..79b710d45fb5
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateLinkResourceName": "testprivateLinkResource",
+ "api-version": "2020-09-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.azureresourceschema.md b/specification/batch/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..54f7626e5744
--- /dev/null
+++ b/specification/batch/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,132 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-batch-2020-09-01
+ - tag: schema-batch-2020-05-01
+ - tag: schema-batch-2020-03-01
+ - tag: schema-batch-2019-08-01
+ - tag: schema-batch-2019-04-01
+ - tag: schema-batch-2018-12-01
+ - tag: schema-batch-2017-09-01
+ - tag: schema-batch-2017-05-01
+ - tag: schema-batch-2017-01-01
+ - tag: schema-batch-2015-12-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-batch-2020-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2020-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2020-09-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2020-05-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2020-03-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2019-08-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2019-04-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2018-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2018-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2018-12-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-09-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-05-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-01-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2015-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2015-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2015-12-01/BatchManagement.json
+
+```
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index 35692665cfa7..058ae96ce535 100644
--- a/specification/batch/resource-manager/readme.go.md
+++ b/specification/batch/resource-manager/readme.go.md
@@ -14,6 +14,8 @@ go:
### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-09
+ - tag: package-2020-05
- tag: package-2020-03
- tag: package-2019-08
- tag: package-2019-04
@@ -24,6 +26,24 @@ batch:
- tag: package-2015-12
```
+### Tag: package-2020-09 and go
+
+These settings apply only when `--tag=package-2020-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-09' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace)
+```
+
+### Tag: package-2020-05 and go
+
+These settings apply only when `--tag=package-2020-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-05' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace)
+```
+
### Tag: package-2020-03 and go
These settings apply only when `--tag=package-2020-03 --go` is specified on the command line.
@@ -33,7 +53,6 @@ Please also specify `--go-sdk-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,27 @@ python:
clear-output-folder: true
```
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.batch
+package-name: azure-mgmt-batch
+package-version: 14.0.0b1
+clear-output-folder: true
+```
+
``` yaml $(python) && $(python-mode) == 'update'
+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'
+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/batchai/resource-manager/readme.azureresourceschema.md b/specification/batchai/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..da50d317d24b
--- /dev/null
+++ b/specification/batchai/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-batchai-2018-05-01
+ - tag: schema-batchai-2018-03-01
+ - tag: schema-batchai-2017-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-batchai-2018-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2018-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
+
+```
+
+### Tag: schema-batchai-2018-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2018-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
+
+```
+
+### Tag: schema-batchai-2017-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2017-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
+
+```
diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md
index 64c9b649cdac..6c29bae8f5b6 100644
--- a/specification/batchai/resource-manager/readme.md
+++ b/specification/batchai/resource-manager/readme.md
@@ -72,6 +72,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js batchai/resource-manager
```
@@ -183,29 +186,7 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.BatchAI/preview/2017-09-01-preview/BatchAI.json
- - $(this-folder)/Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
- - $(this-folder)/Microsoft.BatchAI/stable/2018-05-01/BatchAI.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
index 94e961a7fdee..a4b03809ce4f 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
@@ -109,7 +109,7 @@
},
"parameters": [
{
- "$ref": "#/parameters/subscriptionGuidParameter"
+ "$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
@@ -171,7 +171,7 @@
},
"parameters": [
{
- "$ref": "#/parameters/subscriptionGuidParameter"
+ "$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
@@ -322,6 +322,11 @@
"description": "The target of the particular error.",
"type": "string",
"readOnly": true
+ },
+ "details": {
+ "description": "The sub details of the error.",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorSubDetails"
}
}
},
@@ -335,6 +340,29 @@
}
}
},
+ "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
+ }
+ }
+ }
+ },
"Resource": {
"description": "The Resource model definition.",
"properties": {
@@ -365,10 +393,10 @@
"type": "string",
"description": "Version of the API to be used with the client request. The current version is 2018-03-01-preview."
},
- "subscriptionGuidParameter": {
+ "subscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
- "description": "Azure Subscription ID.",
+ "description": "The ID that uniquely identifies an Azure subscription.",
"required": true,
"type": "string"
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
index 38e006b05097..f9c58116ddc2 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
@@ -766,7 +766,7 @@
"Customers"
],
"x-ms-examples": {
- "CustomersListByBillingAccount": {
+ "CustomersListByBillingProfile": {
"$ref": "./examples/CustomersListByBillingProfile.json"
}
},
@@ -1685,6 +1685,74 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "x-ms-examples": {
+ "EAInvoiceDownload": {
+ "$ref": "./examples/MultipleInvoiceDownload.json"
+ }
+ },
+ "operationId": "Invoices_DownloadMultipleEAInvoices",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "name": "downloadUrls",
+ "in": "body",
+ "required": true,
+ "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DownloadUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": {
"get": {
"tags": [
@@ -1724,6 +1792,74 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "x-ms-examples": {
+ "BillingSubscriptionInvoiceDownload": {
+ "$ref": "./examples/MultipleBillingSubscriptionInvoiceDownload.json"
+ }
+ },
+ "operationId": "Invoices_DownloadMultipleBillingSubscriptionInvoices",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "downloadUrls",
+ "in": "body",
+ "required": true,
+ "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DownloadUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/pricesheet/default/download": {
"post": {
"tags": [
@@ -1900,6 +2036,77 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/downloadDocuments": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "x-ms-examples": {
+ "BillingProfileInvoiceDownload": {
+ "$ref": "./examples/MultipleModernInvoiceDownload.json"
+ }
+ },
+ "operationId": "Invoices_DownloadMultipleBillingProfileInvoices",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "name": "downloadUrls",
+ "in": "body",
+ "required": true,
+ "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DownloadUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}": {
"get": {
"tags": [
@@ -4473,6 +4680,52 @@
}
}
}
+ },
+ "put": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Put",
+ "description": "Create or update a billing role assignment.",
+ "x-ms-examples": {
+ "PutEnrollmentAdministratorRoleAssignment": {
+ "$ref": "./examples/PutAdministratorRoleAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ },
+ "description": "The new or updated billing role assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
}
},
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": {
@@ -4725,6 +4978,55 @@
}
}
}
+ },
+ "put": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "operationId": "EnrollmentDepartmentRoleAssignments_Put",
+ "description": "Create or update a billing role assignment.",
+ "x-ms-examples": {
+ "PutEnrollmentDepartmentAdministratorRoleAssignment": {
+ "$ref": "./examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ },
+ "description": "The new or updated billing role assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
}
},
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": {
@@ -6909,6 +7211,11 @@
"description": "The target of the particular error.",
"type": "string",
"readOnly": true
+ },
+ "details": {
+ "description": "The sub details of the error.",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorSubDetails"
}
}
},
@@ -6922,6 +7229,29 @@
}
}
},
+ "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
+ }
+ }
+ }
+ },
"Reseller": {
"description": "Details of the reseller.",
"properties": {
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json
new file mode 100644
index 000000000000..a810e1a7775d
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "{subscriptionId}",
+ "downloadUrls": [
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview"
+ ]
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sig=sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json
new file mode 100644
index 000000000000..bd9e7f59f578
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "downloadUrls": [
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview"
+ ]
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json
new file mode 100644
index 000000000000..cafb3e2cbaa7
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "downloadUrls": [
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview"
+ ]
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json
new file mode 100644
index 000000000000..927ad134c30c
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}",
+ "parameters": {
+ "properties": {
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9",
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json
new file mode 100644
index 000000000000..ad30ee9ed1f0
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}",
+ "parameters": {
+ "properties": {
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9",
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603"
+ },
+ "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json
index 965ec56e3691..ede1bac4407f 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
@@ -607,7 +607,7 @@
"Customers"
],
"x-ms-examples": {
- "CustomersListByBillingAccount": {
+ "CustomersListByBillingProfile": {
"$ref": "./examples/CustomersListByBillingProfile.json"
}
},
@@ -1064,6 +1064,9 @@
"x-ms-examples": {
"BillingAccountInvoicesList": {
"$ref": "./examples/BillingAccountInvoicesList.json"
+ },
+ "BillingAccountInvoicesListWithRebillDetails": {
+ "$ref": "./examples/BillingAccountInvoicesListWithRebillDetails.json"
}
},
"operationId": "Invoices_ListByBillingAccount",
@@ -1120,6 +1123,9 @@
"x-ms-examples": {
"InvoicesListByBillingProfile": {
"$ref": "./examples/InvoicesListByBillingProfile.json"
+ },
+ "InvoicesListByBillingProfileWithRebillDetails": {
+ "$ref": "./examples/InvoicesListByBillingProfileWithRebillDetails.json"
}
},
"operationId": "Invoices_ListByBillingProfile",
@@ -1179,6 +1185,15 @@
"x-ms-examples": {
"Invoice": {
"$ref": "./examples/Invoice.json"
+ },
+ "InvoiceWithRebillDetails": {
+ "$ref": "./examples/InvoiceWithRebillDetails.json"
+ },
+ "VoidInvoice": {
+ "$ref": "./examples/VoidInvoice.json"
+ },
+ "CreditNote": {
+ "$ref": "./examples/CreditNote.json"
}
},
"operationId": "Invoices_Get",
@@ -1259,7 +1274,7 @@
],
"x-ms-examples": {
"InvoiceDownload": {
- "$ref": "./examples/InvoiceDownload.json"
+ "$ref": "./examples/ModernInvoiceDownload.json"
}
},
"operationId": "Invoices_DownloadInvoice",
@@ -1318,6 +1333,74 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "x-ms-examples": {
+ "BillingProfileInvoiceDownload": {
+ "$ref": "./examples/MultipleModernInvoiceDownload.json"
+ }
+ },
+ "operationId": "Invoices_DownloadMultipleBillingProfileInvoices",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "name": "downloadUrls",
+ "in": "body",
+ "required": true,
+ "description": "An array of download urls for individual documents",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DownloadUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions": {
"get": {
"tags": [
@@ -1524,6 +1607,74 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "x-ms-examples": {
+ "BillingSubscriptionInvoiceDownload": {
+ "$ref": "./examples/MultipleBillingSubscriptionInvoiceDownload.json"
+ }
+ },
+ "operationId": "Invoices_DownloadMultipleBillingSubscriptionInvoices",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "downloadUrls",
+ "in": "body",
+ "required": true,
+ "description": "An array of download urls for individual documents",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DownloadUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions": {
"get": {
"tags": [
@@ -4600,6 +4751,11 @@
"description": "The target of the particular error.",
"type": "string",
"readOnly": true
+ },
+ "details": {
+ "description": "The sub details of the error.",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorSubDetails"
}
}
},
@@ -4613,6 +4769,29 @@
}
}
},
+ "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
+ }
+ }
+ }
+ },
"Reseller": {
"description": "Details of the reseller.",
"properties": {
@@ -4704,7 +4883,8 @@
"enum": [
"Due",
"OverDue",
- "Paid"
+ "Paid",
+ "Void"
],
"readOnly": true,
"x-ms-enum": {
@@ -4814,6 +4994,38 @@
"$ref": "#/definitions/PaymentProperties"
}
},
+ "rebillDetails": {
+ "description": "Rebill details for an invoice.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/RebillDetails"
+ }
+ },
+ "documentType": {
+ "description": "The type of the document.",
+ "type": "string",
+ "enum": [
+ "Invoice",
+ "CreditNote"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InvoiceDocumentType",
+ "modelAsString": true
+ }
+ },
+ "billedDocumentId": {
+ "description": "The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creditForDocumentId": {
+ "description": "The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.",
+ "type": "string",
+ "readOnly": true
+ },
"subscriptionId": {
"description": "The ID of the subscription for which the invoice is generated.",
"type": "string",
@@ -4861,6 +5073,30 @@
}
}
},
+ "RebillDetails": {
+ "description": "The rebill details of an invoice.",
+ "properties": {
+ "creditNoteDocumentId": {
+ "description": "The ID of credit note.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceDocumentId": {
+ "description": "The ID of invoice.",
+ "type": "string",
+ "readOnly": true
+ },
+ "rebillDetails": {
+ "description": "Rebill details for an invoice.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/RebillDetails"
+ }
+ }
+ }
+ },
"Document": {
"description": "The properties of a document.",
"properties": {
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
index 843c4e2bc85a..d95c28a8d7a4 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
@@ -55,6 +55,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
@@ -122,6 +123,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "TaxReceipt",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json
new file mode 100644
index 000000000000..6a6f68ce064d
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "periodStartDate": "2018-01-01",
+ "periodEndDate": "2018-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003",
+ "name": "I000003",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 8.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724",
+ "name": "1383724",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-03-01T17:32:28Z",
+ "invoiceDate": "2018-02-01T17:32:28Z",
+ "status": "PastDue",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-02-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxreceipt.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json
index 226bfa9ef63e..1d2f434b068d 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json
@@ -8,7 +8,7 @@
"responses": {
"202": {
"headers": {
- "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11000000-0000-0000-0000-000000000000/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01",
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01",
"Retry-After": "10"
}
},
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json
new file mode 100644
index 000000000000..436f1f56ee11
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Paid",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "CreditNote",
+ "creditForDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
index a956b6a06d95..431057fff203 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
@@ -7,7 +7,7 @@
"responses": {
"200": {
"body": {
- "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
"name": "{invoiceName}",
"type": "Microsoft.Billing/billingAccounts/invoices",
"properties": {
@@ -52,6 +52,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json
deleted file mode 100644
index 9bf994a947cb..000000000000
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-05-01",
- "billingAccountName": "{billingAccountName}",
- "invoiceName": "{invoiceName}",
- "downloadToken": "DRS_12345"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01",
- "Retry-After": "10"
- }
- },
- "200": {
- "body": {
- "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
- }
- }
- }
-}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json
new file mode 100644
index 000000000000..7d9962a235e2
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
index f2dd0ffc9c42..c3300eaa6ae8 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
@@ -56,6 +56,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
@@ -128,6 +129,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json
new file mode 100644
index 000000000000..e86609b85ef8
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "periodStartDate": "2018-01-01",
+ "periodEndDate": "2018-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003",
+ "name": "I000003",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 8.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724",
+ "name": "1383724",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-03-01T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-02-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json
new file mode 100644
index 000000000000..38774eb60736
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}",
+ "downloadToken": "DRS_12345"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json
new file mode 100644
index 000000000000..00c11b106f6a
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "subscriptionId": "{subscriptionId}",
+ "downloadUrls": [
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01"
+ ]
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json
new file mode 100644
index 000000000000..209820727664
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "downloadUrls": [
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01",
+ "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01"
+ ]
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01",
+ "Retry-After": "10"
+ }
+ },
+ "200": {
+ "body": {
+ "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json
new file mode 100644
index 000000000000..30e3f1b71cbe
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Void",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "billedDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/readme.az.md b/specification/billing/resource-manager/readme.az.md
new file mode 100644
index 000000000000..824434fa5ef5
--- /dev/null
+++ b/specification/billing/resource-manager/readme.az.md
@@ -0,0 +1,208 @@
+## AZ
+These settings apply only when `--az` is specified on the command line.
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: billing
+ namespace: azure.mgmt.billing
+ package-name: azure-mgmt-billing
+az-output-folder: $(azure-cli-extension-folder)/src/billing
+python-sdk-output-folder: "$(az-output-folder)/azext_billing/vendored_sdks/billing"
+#cli:
+# cli-directive:
+# - where:
+# group: MachineLearningCompute
+# op: CreateOrUpdate
+# param: properties
+# poly-resource: true
+```
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: billing
+ namespace: azure.mgmt.billing
+ package-name: azure-mgmt-billing
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/billing
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/billing"
+```
+
+# Az.Billing
+This directory contains the Cli common model for the Billing service.
+
+> Metadata
+``` yaml
+# Migrated from Powershell's readme
+
+extension-mode: stable
+
+directive:
+ - where:
+ group: billing invoice-section
+ set:
+ group: billing invoice section
+
+cli:
+ cli-directive:
+# -------- DO NOT generate those command groups --------
+ - select: 'operationGroup'
+ where:
+ operationGroup: BillingPeriods|EnrollmentAccounts|Agreements|BillingPermissions|BillingRoleAssignments|BillingRoleDefinitions|Instructions|Address.*$
+ hidden: true
+
+ # rename --billing-profile-name to --profile-name
+ - where:
+ param: billingProfileName
+ name: profile_name
+
+ # -------- BillingAccounts --------
+ # rename --billing-account-name to --account-name globally
+ - where:
+ param: billingAccountName
+ name: account_name
+ # shorten the name in billing account command group
+ - where:
+ group: billingAccounts
+ param: billingAccountName
+ alias:
+ - name
+ - n
+ - where:
+ operationGroup: billingAccounts
+ set:
+ groupExtensionMode: preview
+ - where:
+ operationGroup: BillingAccounts
+ name: account
+ # Shouldn't appear in accounts command group, the responses is not related to BollingAccount
+ - where:
+ group: BillingAccounts
+ op: ListInvoiceSectionsByCreateSubscriptionPermission
+ hidden: true
+
+# -------- BillingProfile --------
+ - where:
+ operationGroup: BillingProfiles
+ set:
+ groupExtensionMode: preview
+ - where:
+ operationGroup: BillingProfiles
+ name: profile
+ - where:
+ group: billingProfiles
+ param: billingProfileName
+ alias:
+ - name
+ - n
+ - select: 'property'
+ where:
+ objectSchema: 'billingProfileCreationRequest'
+ property: 'poNumber'
+ set:
+ name: 'purchase_order_number'
+
+# -------- Balance --------
+ - where:
+ group: 'availableBalances'
+ set:
+ name: 'balance'
+ - where:
+ group: availableBalances
+ set:
+ groupExtensionMode: preview
+
+# -------- Customer --------
+ - where:
+ group: Customers
+ set:
+ groupExtensionMode: preview
+
+# -------- Invoice --------
+ # customize for download command by manual for ungraceful implmentation by default
+ - where:
+ group: Invoices
+ op: DownloadInvoice
+ hidden: true
+ - where:
+ group: Invoices
+ op: DownloadMultipleBillingProfileInvoices
+ hidden: true
+ - where:
+ group: Invoices
+ op: DownloadBillingSubscriptionInvoice
+ hidden: true
+ - where:
+ group: Invoices
+ op: DownloadMultipleBillingSubscriptionInvoices
+ hidden: true
+ # customize for series of get commands by manual for ungraceful implmentation by default
+ - where:
+ group: Invoices
+ op: GetById
+ hidden: true
+ - where:
+ group: Invoices
+ op: GetBySubscriptionAndInvoiceId
+ hidden: true
+ - where:
+ group: Invoices
+ param: invoiceName
+ name: name
+ alias: # --invoice-name is unnecessary under "billing invoice" command group
+ - name
+ - n
+
+# -------- InvoiceSection --------
+ - where:
+ group: InvoiceSections
+ set:
+ groupExtensionMode: preview # bug, won't take effect
+
+# -------- Policy -------
+ - where:
+ group: Policies
+ set:
+ groupExtensionMode: preview
+ # GetByBillingProfile and GetByCustomer will be implemented in manually customized show command
+ - where:
+ group: Policies
+ op: GetByBillingProfile
+ hidden: true
+ - where:
+ group: Policies
+ op: GetByCustomer
+ hidden: true
+ - where:
+ group: Policies
+ op: UpdateCustomer
+ hidden: true
+
+# ------ Product ------
+ - where:
+ group: Products
+ set:
+ groupExtensionMode: preview
+
+# ------ Subscription ------
+ - where:
+ group: BillingSubscriptions
+ set:
+ name: subscription
+ groupExtensionMode: preview
+
+# ------ Property ------
+ - where:
+ group: BillingProperty
+ set:
+ name: property
+ groupExtensionMode: preview
+ - select: 'property'
+ where:
+ objectSchema: 'BillingProfileProperties'
+ property: 'poNumber'
+ set:
+ name: 'purchase_order_number'
+
+# ------ Transaction ------
+ - where:
+ group: Transactions
+ set:
+ groupExtensionMode: preview
+```
diff --git a/specification/billing/resource-manager/readme.azureresourceschema.md b/specification/billing/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..e7e163b7b60e
--- /dev/null
+++ b/specification/billing/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,85 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-billing-2020-05-01
+ - tag: schema-billing-2019-10-01-preview
+ - tag: schema-billing-2018-11-01-preview
+ - tag: schema-billing-2018-03-01-preview
+ - tag: schema-billing-2017-04-24-preview
+ - tag: schema-billing-2017-02-27-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-billing-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/stable/2020-05-01/billing.json
+
+```
+
+### Tag: schema-billing-2019-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2019-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2019-10-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2018-11-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2018-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2018-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
+ - Microsoft.Billing/preview/2018-03-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2017-04-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2017-04-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2017-04-24-preview/billing.json
+
+```
+
+### Tag: schema-billing-2017-02-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2017-02-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2017-02-27-preview/billing.json
+
+```
diff --git a/specification/billing/resource-manager/readme.cli.md b/specification/billing/resource-manager/readme.cli.md
index c13b35b5db95..0016d91bd5e7 100644
--- a/specification/billing/resource-manager/readme.cli.md
+++ b/specification/billing/resource-manager/readme.cli.md
@@ -1,33 +1,9 @@
-# Az.Aks
-This directory contains the Cli common model for the Aks service.
+# Az.Billing
+This directory contains the Cli common model for the Billing service.
> Metadata
``` yaml
# Migrated from Powershell's readme
-title: Billing
-cli:
- cli-directive:
- - select: 'property'
- where:
- objectSchema: 'billingProfileCreationRequest'
- property: 'poNumber'
- set:
- name: 'purchase_order_number'
- - select: 'operationGroup'
- where:
- operationGroup: 'availableBalances'
- set:
- name: 'available_credit_balance'
- - select: 'property'
- where:
- objectSchema: 'BillingProfileProperties'
- property: 'poNumber'
- set:
- name: 'purchase_order_number'
- - select: 'operationGroup'
- where:
- operationGroup: ^(?!^billingPeriod$)(?!^budget$)(?!^enrollmentAccounts$)(?!^invoices$)(?!^marketplace$)(?!^priceSheet$)(?!^reservationDetail$)(?!^reservationSummary$)(?!^usageAggregate$)(?!^usageDetail$).*$
- hidden: true
```
diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md
index 0fcef38b70b7..f6bf507cb97e 100644
--- a/specification/billing/resource-manager/readme.go.md
+++ b/specification/billing/resource-manager/readme.go.md
@@ -26,7 +26,7 @@ These settings apply only when `--tag=package-2020-05 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-05' && $(go)
-output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace)
```
### Tag: package-2018-11-preview and go
diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md
index f2031f4bbc94..54b10224deae 100644
--- a/specification/billing/resource-manager/readme.md
+++ b/specification/billing/resource-manager/readme.md
@@ -102,8 +102,12 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
+ - repo: azure-cli-extensions
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_billing']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js billing/resource-manager
```
@@ -231,33 +235,6 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Billing/stable/2020-05-01/billing.json
- - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
- - $(this-folder)/Microsoft.Billing/preview/2019-10-01-preview/billing.json
- - $(this-folder)/Microsoft.Billing/preview/2018-11-01-preview/billing.json
- - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billing.json
- - $(this-folder)/Microsoft.Billing/preview/2017-04-24-preview/billing.json
- - $(this-folder)/Microsoft.Billing/preview/2017-02-27-preview/billing.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
-```
+## AzureResourceSchema
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/blockchain/resource-manager/readme.azureresourceschema.md b/specification/blockchain/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..01c28ae04c95
--- /dev/null
+++ b/specification/blockchain/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-blockchain-2018-06-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-blockchain-2018-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blockchain-2018-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json
+
+```
diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md
index 806fc6ac3e2d..ebea104cb0f2 100644
--- a/specification/blockchain/resource-manager/readme.md
+++ b/specification/blockchain/resource-manager/readme.md
@@ -59,6 +59,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js blockchain/resource-manager
```
## C#
@@ -86,27 +89,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
-
-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.Blockchain/preview/2018-06-01-preview/blockchain.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/blueprint/resource-manager/readme.azureresourceschema.md b/specification/blueprint/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4e9a1ed8e02a
--- /dev/null
+++ b/specification/blueprint/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,39 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-blueprint-2018-11-01-preview
+ - tag: schema-blueprint-2017-11-11-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-blueprint-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blueprint-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
+ - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
+ - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
+
+```
+
+### Tag: schema-blueprint-2017-11-11-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blueprint-2017-11-11-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json
+ - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json
+
+```
diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md
index 5fbee9859aa1..e133f1b7ed9f 100644
--- a/specification/blueprint/resource-manager/readme.md
+++ b/specification/blueprint/resource-manager/readme.md
@@ -63,6 +63,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-python
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js blueprint/resource-manager
```
@@ -131,31 +134,7 @@ directive:
reason: OperationsAPI for Microsoft.Management is out of scope.
```
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json
- - $(this-folder)/Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json
- - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
- - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
- - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..3e03a113a69a
--- /dev/null
+++ b/specification/botservice/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-botservice-2020-06-02
+ - tag: schema-botservice-2018-07-12
+ - tag: schema-botservice-2017-12-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-botservice-2020-06-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/stable/2020-06-02/botservice.json
+
+```
+
+### Tag: schema-botservice-2018-07-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2018-07-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/preview/2018-07-12/botservice.json
+
+```
+
+### Tag: schema-botservice-2017-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2017-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/preview/2017-12-01/botservice.json
+
+```
diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md
index de1dff1bfa0b..f2d4bf12432c 100644
--- a/specification/botservice/resource-manager/readme.md
+++ b/specification/botservice/resource-manager/readme.md
@@ -96,6 +96,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js botservice/resource-manager
+ - repo: azure-sdk-for-js
```
## C#
@@ -124,28 +128,7 @@ See configuration in [readme.java.md](./readme.java.md)
See readme.python.md file.
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-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.BotService/stable/2020-06-02/botservice.json
- - $(this-folder)/Microsoft.BotService/preview/2018-07-12/botservice.json
- - $(this-folder)/Microsoft.BotService/preview/2017-12-01/botservice.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
index e3ccabfbb2ca..72bfef245f21 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
@@ -2557,7 +2557,6 @@
"description": "Defines the parameters for RemoteAddress match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2604,7 +2603,6 @@
"description": "Defines the parameters for RequestMethod match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2651,7 +2649,6 @@
"description": "Defines the parameters for QueryString match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2704,8 +2701,6 @@
"description": "Defines the parameters for PostArgs match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -2762,7 +2757,6 @@
"description": "Defines the parameters for RequestUri match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2815,8 +2809,6 @@
"description": "Defines the parameters for RequestHeader match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -2873,7 +2865,6 @@
"description": "Defines the parameters for RequestBody match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2926,7 +2917,6 @@
"description": "Defines the parameters for RequestScheme match conditions ",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2964,7 +2954,6 @@
"description": "Defines the parameters for UrlPath match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3018,7 +3007,6 @@
"description": "Defines the parameters for UrlFileExtension match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3071,7 +3059,6 @@
"description": "Defines the parameters for UrlFilename match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3124,7 +3111,6 @@
"description": "Defines the parameters for HttpVersion match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3162,8 +3148,6 @@
"description": "Defines the parameters for Cookies match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3220,7 +3204,6 @@
"description": "Defines the parameters for IsDevice match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -4072,7 +4055,6 @@
"resourceGroupName",
"vaultName",
"secretName",
- "secretVersion",
"updateRule",
"deleteRule"
],
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 e2b319a2e9d7..85e58bdd2080 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
@@ -2567,7 +2567,6 @@
"description": "Defines the parameters for RemoteAddress match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2614,7 +2613,6 @@
"description": "Defines the parameters for RequestMethod match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2661,7 +2659,6 @@
"description": "Defines the parameters for QueryString match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2714,8 +2711,6 @@
"description": "Defines the parameters for PostArgs match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -2772,7 +2767,6 @@
"description": "Defines the parameters for RequestUri match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2825,8 +2819,6 @@
"description": "Defines the parameters for RequestHeader match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -2883,7 +2875,6 @@
"description": "Defines the parameters for RequestBody match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2936,7 +2927,6 @@
"description": "Defines the parameters for RequestScheme match conditions ",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -2974,7 +2964,6 @@
"description": "Defines the parameters for UrlPath match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3028,7 +3017,6 @@
"description": "Defines the parameters for UrlFileExtension match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3081,7 +3069,6 @@
"description": "Defines the parameters for UrlFilename match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3134,7 +3121,6 @@
"description": "Defines the parameters for HttpVersion match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3172,8 +3158,6 @@
"description": "Defines the parameters for Cookies match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3230,7 +3214,6 @@
"description": "Defines the parameters for IsDevice match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -4082,7 +4065,6 @@
"resourceGroupName",
"vaultName",
"secretName",
- "secretVersion",
"updateRule",
"deleteRule"
],
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 4282327a5c0a..985cc15ee100 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
@@ -3037,7 +3037,6 @@
"description": "Defines the parameters for RemoteAddress match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3084,7 +3083,6 @@
"description": "Defines the parameters for RequestMethod match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3131,7 +3129,6 @@
"description": "Defines the parameters for QueryString match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3184,8 +3181,6 @@
"description": "Defines the parameters for PostArgs match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3242,7 +3237,6 @@
"description": "Defines the parameters for RequestUri match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3295,8 +3289,6 @@
"description": "Defines the parameters for RequestHeader match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3353,7 +3345,6 @@
"description": "Defines the parameters for RequestBody match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3406,7 +3397,6 @@
"description": "Defines the parameters for RequestScheme match conditions ",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3444,7 +3434,6 @@
"description": "Defines the parameters for UrlPath match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3498,7 +3487,6 @@
"description": "Defines the parameters for UrlFileExtension match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3551,7 +3539,6 @@
"description": "Defines the parameters for UrlFilename match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3604,7 +3591,6 @@
"description": "Defines the parameters for HttpVersion match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3642,8 +3628,6 @@
"description": "Defines the parameters for Cookies match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3700,7 +3684,6 @@
"description": "Defines the parameters for IsDevice match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -4868,7 +4851,6 @@
"resourceGroupName",
"vaultName",
"secretName",
- "secretVersion",
"updateRule",
"deleteRule"
],
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 40bda7fa0c28..5b5bb55288fa 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
@@ -3054,7 +3054,6 @@
"description": "Defines the parameters for RemoteAddress match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3101,7 +3100,6 @@
"description": "Defines the parameters for RequestMethod match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3148,7 +3146,6 @@
"description": "Defines the parameters for QueryString match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3201,8 +3198,6 @@
"description": "Defines the parameters for PostArgs match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3259,7 +3254,6 @@
"description": "Defines the parameters for RequestUri match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3312,8 +3306,6 @@
"description": "Defines the parameters for RequestHeader match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3370,7 +3362,6 @@
"description": "Defines the parameters for RequestBody match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3423,7 +3414,6 @@
"description": "Defines the parameters for RequestScheme match conditions ",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3461,7 +3451,6 @@
"description": "Defines the parameters for UrlPath match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3515,7 +3504,6 @@
"description": "Defines the parameters for UrlFileExtension match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3568,7 +3556,6 @@
"description": "Defines the parameters for UrlFilename match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3621,7 +3608,6 @@
"description": "Defines the parameters for HttpVersion match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3659,8 +3645,6 @@
"description": "Defines the parameters for Cookies match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3717,7 +3701,6 @@
"description": "Defines the parameters for IsDevice match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -4982,7 +4965,6 @@
"resourceGroupName",
"vaultName",
"secretName",
- "secretVersion",
"updateRule",
"deleteRule"
],
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 2fcd9a9690c9..24ba251127d2 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
@@ -3054,7 +3054,6 @@
"description": "Defines the parameters for RemoteAddress match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3101,7 +3100,6 @@
"description": "Defines the parameters for RequestMethod match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3148,7 +3146,6 @@
"description": "Defines the parameters for QueryString match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3201,8 +3198,6 @@
"description": "Defines the parameters for PostArgs match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3259,7 +3254,6 @@
"description": "Defines the parameters for RequestUri match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3312,8 +3306,6 @@
"description": "Defines the parameters for RequestHeader match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3370,7 +3362,6 @@
"description": "Defines the parameters for RequestBody match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3423,7 +3414,6 @@
"description": "Defines the parameters for RequestScheme match conditions ",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3461,7 +3451,6 @@
"description": "Defines the parameters for UrlPath match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3515,7 +3504,6 @@
"description": "Defines the parameters for UrlFileExtension match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3568,7 +3556,6 @@
"description": "Defines the parameters for UrlFilename match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3621,7 +3608,6 @@
"description": "Defines the parameters for HttpVersion match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -3659,8 +3645,6 @@
"description": "Defines the parameters for Cookies match conditions",
"required": [
"operator",
- "matchValues",
- "selector",
"@odata.type"
],
"properties": {
@@ -3717,7 +3701,6 @@
"description": "Defines the parameters for IsDevice match conditions",
"required": [
"operator",
- "matchValues",
"@odata.type"
],
"properties": {
@@ -5038,7 +5021,6 @@
"resourceGroupName",
"vaultName",
"secretName",
- "secretVersion",
"updateRule",
"deleteRule"
],
diff --git a/specification/cdn/resource-manager/readme.azureresourceschema.md b/specification/cdn/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b4b719cb1979
--- /dev/null
+++ b/specification/cdn/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,135 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-cdn-2020-04-15
+ - tag: schema-cdn-2019-12-31
+ - tag: schema-cdn-2019-06-15-preview
+ - tag: schema-cdn-2019-06-15
+ - tag: schema-cdn-2019-04-15
+ - tag: schema-cdn-2017-10-12
+ - tag: schema-cdn-2017-04-02
+ - tag: schema-cdn-2016-10-02
+ - tag: schema-cdn-2016-04-02
+ - tag: schema-cdn-2015-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-cdn-2020-04-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2020-04-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2020-04-15/cdn.json
+ - Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-12-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-12-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-12-31/cdn.json
+
+```
+
+### Tag: schema-cdn-2019-06-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-06-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
+ - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-06-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-06-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-06-15/cdn.json
+ - Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-04-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-04-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-04-15/cdn.json
+
+```
+
+### Tag: schema-cdn-2017-10-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2017-10-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2017-10-12/cdn.json
+
+```
+
+### Tag: schema-cdn-2017-04-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2017-04-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2017-04-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2016-10-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2016-10-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2016-10-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2016-04-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2016-04-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2016-04-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2015-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2015-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2015-06-01/cdn.json
+
+```
diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md
index b53dccbfb0c7..a660c2a5dd61 100644
--- a/specification/cdn/resource-manager/readme.go.md
+++ b/specification/cdn/resource-manager/readme.go.md
@@ -29,7 +29,7 @@ These settings apply only when `--tag=package-2020-04 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-04' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-04-15/$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-15/$(namespace)
```
### Tag: package-2019-04 and go
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 25bcc654b0cc..d7f99a1c0370 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -148,6 +148,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cdn/resource-manager
```
@@ -175,39 +178,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
+## AzureResourceSchema
-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.Cdn/stable/2020-04-15/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
- - $(this-folder)/Microsoft.Cdn/stable/2019-12-31/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
- - $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
- - $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json
- - $(this-folder)/Microsoft.Cdn/stable/2019-04-15/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2017-10-12/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2017-04-02/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2016-10-02/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2016-04-02/cdn.json
- - $(this-folder)/Microsoft.Cdn/stable/2015-06-01/cdn.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1ff06754928a
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-changeanalysis-2020-04-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
+
+```
diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md
index 82bb9acfa298..d8cc3055ec39 100644
--- a/specification/changeanalysis/resource-manager/readme.md
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -57,6 +57,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_changeanalysis']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js changeanalysis/resource-manager
```
## Go
@@ -114,27 +117,7 @@ directive:
}
```
-## 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.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.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.
+## AzureResourceSchema
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/cloudshell/resource-manager/readme.azureresourceschema.md b/specification/cloudshell/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6f76c466351e
--- /dev/null
+++ b/specification/cloudshell/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-portal-2018-10-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-portal-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-portal-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Portal/stable/2018-10-01/CloudShell.json
+
+```
diff --git a/specification/cloudshell/resource-manager/readme.md b/specification/cloudshell/resource-manager/readme.md
index 76ac94994ab1..d1f360640baa 100644
--- a/specification/cloudshell/resource-manager/readme.md
+++ b/specification/cloudshell/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cloudshell']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cloudshell/resource-manager
```
## Go
@@ -146,27 +149,7 @@ csharp:
namespace: Microsoft.CloudShell
output-folder: $(csharp-sdks-folder)/CloudShell/management/Microsoft.CloudShell/GeneratedProtocol
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Portal/stable/2018-10-01/CloudShell.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
index ac5d89494132..3c12b4188bed 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
@@ -31,7 +31,7 @@
"post": {
"summary": "Detect anomalies for the entire series in batch.",
"description": "This operation generates a model using an entire series, each point is detected with the same model. With this method, points before and after a certain point are used to determine whether it is an anomaly. The entire detection can give user an overall status of the time series.",
- "operationId": "EntireDetect",
+ "operationId": "DetectEntireSeries",
"parameters": [
{
"name": "body",
@@ -39,7 +39,7 @@
"description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
"required": true,
"schema": {
- "$ref": "#/definitions/Request"
+ "$ref": "#/definitions/DetectRequest"
}
}
],
@@ -59,7 +59,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -74,7 +74,7 @@
"post": {
"summary": "Detect anomaly status of the latest point in time series.",
"description": "This operation generates a model using points before the latest one. With this method, only historical points are used to determine whether the target point is an anomaly. The latest point detecting operation matches the scenario of real-time monitoring of business metrics.",
- "operationId": "LastDetect",
+ "operationId": "DetectLastPoint",
"parameters": [
{
"name": "body",
@@ -82,7 +82,7 @@
"description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
"required": true,
"schema": {
- "$ref": "#/definitions/Request"
+ "$ref": "#/definitions/DetectRequest"
}
}
],
@@ -102,7 +102,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -113,11 +113,11 @@
}
}
},
- "/timeseries/changePoint/detect": {
+ "/timeseries/changepoint/detect": {
"post": {
"summary": "Detect change point for the entire series",
"description": "Evaluate change point score of every series point",
- "operationId": "ChangePointDetect",
+ "operationId": "DetectChangePoint",
"parameters": [
{
"name": "body",
@@ -145,7 +145,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -158,7 +158,7 @@
}
},
"definitions": {
- "APIError": {
+ "AnomalyDetectorError": {
"type": "object",
"description": "Error information returned by the API.",
"properties": {
@@ -186,13 +186,38 @@
}
}
},
- "Granularity": {
+ "TimeGranularity": {
"type": "string",
"description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid.",
"x-nullable": false,
"x-ms-enum": {
- "name": "Granularity",
- "modelAsString": false
+ "name": "TimeGranularity",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "yearly"
+ },
+ {
+ "value": "monthly"
+ },
+ {
+ "value": "weekly"
+ },
+ {
+ "value": "daily"
+ },
+ {
+ "value": "hourly"
+ },
+ {
+ "name": "perMinute",
+ "value": "minutely"
+ },
+ {
+ "name": "perSecond",
+ "value": "secondly"
+ }
+ ]
},
"enum": [
"yearly",
@@ -210,7 +235,7 @@
"x-nullable": false,
"description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
},
- "Request": {
+ "DetectRequest": {
"type": "object",
"required": [
"granularity",
@@ -221,11 +246,11 @@
"type": "array",
"description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.",
"items": {
- "$ref": "#/definitions/Point"
+ "$ref": "#/definitions/TimeSeriesPoint"
}
},
"granularity": {
- "$ref": "#/definitions/Granularity"
+ "$ref": "#/definitions/TimeGranularity"
},
"customInterval": {
"description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
@@ -248,7 +273,7 @@
}
}
},
- "Point": {
+ "TimeSeriesPoint": {
"type": "object",
"required": [
"timestamp",
@@ -400,11 +425,11 @@
"type": "array",
"description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.",
"items": {
- "$ref": "#/definitions/Point"
+ "$ref": "#/definitions/TimeSeriesPoint"
}
},
"granularity": {
- "$ref": "#/definitions/Granularity",
+ "$ref": "#/definitions/TimeGranularity",
"description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid."
},
"customInterval": {
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
index e698a92e151e..f02d74f86624 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
@@ -11,16 +11,16 @@ add-credentials: true
credential-default-policy-type: AzureKeyCredentialPolicy
credential-key-header-name: Ocp-Apim-Subscription-Key
payload-flattening-threshold: 1
-namespace: azure.cognitiveservices.anomalydetector
-package-name: azure-cognitiveservices-anomalydetector
+namespace: azure.ai.anomalydetector
+package-name: azure-ai-anomalydetector
package-version: 0.2.0
clear-output-folder: true
```
``` yaml $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector
+output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector
```
``` yaml $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector
+output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json
new file mode 100644
index 000000000000..2cd2d43ed37c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json
@@ -0,0 +1,500 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.1-preview.2",
+ "title": "Computer Vision Client",
+ "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "host": "westcentralus.api.cognitive.microsoft.com",
+ "basePath": "/vision/v3.1-preview.2",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/read/analyze": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "Read",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithUrl.json"
+ }
+ }
+ }
+ },
+ "/read/analyzeResults/{operationId}": {
+ "get": {
+ "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.",
+ "operationId": "GetReadResult",
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id of read operation returned in the response of the 'Read' interface.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the read operation status.",
+ "schema": {
+ "$ref": "#/definitions/ReadOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Read Result request": {
+ "$ref": "./examples/SuccessfulGetReadResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/read/analyze?overload=stream": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "ReadInStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithStream.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReadOperationResult": {
+ "type": "object",
+ "description": "OCR result of the read operation.",
+ "properties": {
+ "status": {
+ "description": "Status of the read operation.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "type": "string",
+ "description": "Get UTC date time the batch operation was submitted.",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "description": "Get last updated UTC date time of this batch operation.",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "$ref": "#/definitions/analyzeResults"
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status code of the text operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "failed",
+ "succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatusCodes",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit",
+ "lines"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number of the recognition result.",
+ "type": "integer"
+ },
+ "language": {
+ "description": "The BCP-47 language code of the recognized text page.",
+ "type": "string"
+ },
+ "angle": {
+ "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).",
+ "type": "number"
+ },
+ "width": {
+ "description": "The width of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "height": {
+ "description": "The height of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "unit": {
+ "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "TextRecognitionResultDimensionUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "lines": {
+ "description": "A list of recognized text lines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Line"
+ }
+ }
+ }
+ },
+ "analyzeResults": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ }
+ }
+ },
+ "Line": {
+ "description": "An object representing a recognized text line.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "words"
+ ],
+ "properties": {
+ "language": {
+ "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of a recognized line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "appearance": {
+ "description": "Style and styleConfidence of the text line.",
+ "type": "object",
+ "$ref": "#/definitions/Appearance"
+ },
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Word"
+ }
+ }
+ }
+ },
+ "Word": {
+ "description": "An object representing a recognized word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "confidence"
+ ],
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "confidence": {
+ "description": "Qualitative confidence measure.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.",
+ "type": "array",
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "Appearance": {
+ "description": "An object representing the style and styleConfidence.",
+ "type": "object",
+ "required": [
+ "style",
+ "styleConfidence"
+ ],
+ "properties": {
+ "style": {
+ "description": "The text line style.",
+ "type": "string",
+ "enum": [
+ "handwriting",
+ "print"
+ ]
+ },
+ "styleConfidence": {
+ "description": "The confidence of text line style.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "ComputerVisionError": {
+ "description": "Details about the API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "NotSupportedFeature",
+ "NotSupportedImage",
+ "Timeout",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "DetectFaceError",
+ "NotSupportedLanguage",
+ "InvalidThumbnailSize",
+ "InvalidDetails",
+ "InvalidModel",
+ "CancelledRequest",
+ "NotSupportedVisualFeature",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException",
+ "InvalidPageRange"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "A unique request identifier.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageUrl": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "Publicly reachable URL of an image.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "OcrDetectionLanguage": {
+ "name": "language",
+ "in": "query",
+ "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch ('nl'), French ('fr'), German ('de'), Italian ('it'), Portuguese ('pt'), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.",
+ "required": false,
+ "default": "en",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OcrDetectionLanguage",
+ "modelAsString": true
+ },
+ "enum": [
+ "en",
+ "es",
+ "fr",
+ "de",
+ "it",
+ "nl",
+ "pt"
+ ]
+ },
+ "ImageUrl": {
+ "name": "ImageUrl",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-client-flatten": true,
+ "description": "A JSON document with a URL pointing to the image that is to be analyzed.",
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ "ImageStream": {
+ "name": "Image",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "An image stream.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints.",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "Pages": {
+ "name": "Pages",
+ "in": "query",
+ "description": "Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma or space.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "(^[0-9]+-[0-9]+$)|(^[0-9]+$)"
+ },
+ "collectionFormat": "csv"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json
new file mode 100644
index 000000000000..a6ad36931547
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json
@@ -0,0 +1,385 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-10-03T14:32:04.236Z",
+ "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z",
+ "analyzeResult": {
+ "version": "v3.1",
+ "readResults": [
+ {
+ "page": 1,
+ "language": "en",
+ "angle": 49.59,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 202,
+ 618,
+ 2047,
+ 643,
+ 2046,
+ 840,
+ 200,
+ 813
+ ],
+ "appearance": {
+ "style": "print",
+ "styleConfidence": 0.995
+ },
+ "text": "Our greatest glory is not",
+ "words": [
+ {
+ "boundingBox": [
+ 204,
+ 627,
+ 481,
+ 628,
+ 481,
+ 830,
+ 204,
+ 829
+ ],
+ "text": "Our",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 519,
+ 628,
+ 1057,
+ 630,
+ 1057,
+ 832,
+ 518,
+ 830
+ ],
+ "text": "greatest",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1114,
+ 630,
+ 1549,
+ 631,
+ 1548,
+ 833,
+ 1114,
+ 832
+ ],
+ "text": "glory",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1586,
+ 631,
+ 1785,
+ 632,
+ 1784,
+ 834,
+ 1586,
+ 833
+ ],
+ "text": "is",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1822,
+ 632,
+ 2115,
+ 633,
+ 2115,
+ 835,
+ 1822,
+ 834
+ ],
+ "text": "not",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "boundingBox": [
+ 420,
+ 1273,
+ 2954,
+ 1250,
+ 2958,
+ 1488,
+ 422,
+ 1511
+ ],
+ "appearance": {
+ "style": "handwriting",
+ "styleConfidence": 0.985
+ },
+ "text": "but in rising every time we fall",
+ "words": [
+ {
+ "boundingBox": [
+ 423,
+ 1269,
+ 634,
+ 1268,
+ 635,
+ 1507,
+ 424,
+ 1508
+ ],
+ "text": "but",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 667,
+ 1268,
+ 808,
+ 1268,
+ 809,
+ 1506,
+ 668,
+ 1507
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 874,
+ 1267,
+ 1289,
+ 1265,
+ 1290,
+ 1504,
+ 875,
+ 1506
+ ],
+ "text": "rising",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1331,
+ 1265,
+ 1771,
+ 1263,
+ 1772,
+ 1502,
+ 1332,
+ 1504
+ ],
+ "text": "every",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1812,
+ 1263,
+ 2178,
+ 1261,
+ 2179,
+ 1500,
+ 1813,
+ 1502
+ ],
+ "text": "time",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2219,
+ 1261,
+ 2510,
+ 1260,
+ 2511,
+ 1498,
+ 2220,
+ 1500
+ ],
+ "text": "we",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2551,
+ 1260,
+ 3016,
+ 1258,
+ 3017,
+ 1496,
+ 2552,
+ 1498
+ ],
+ "text": "fall",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "language": "es",
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "appearance": {
+ "style": "print",
+ "styleConfidence": 0.995
+ },
+ "text": "Viva la vida",
+ "words": [
+ {
+ "boundingBox": [
+ 323,
+ 454,
+ 416,
+ 449,
+ 418,
+ 494,
+ 325,
+ 501
+ ],
+ "text": "Viva",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 92,
+ 550,
+ 429,
+ 541,
+ 430,
+ 591,
+ 94,
+ 600
+ ],
+ "text": "la",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 58,
+ 466,
+ 268,
+ 458,
+ 270,
+ 505,
+ 161,
+ 512
+ ],
+ "text": "vida",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "page": 2,
+ "language": "en",
+ "angle": 1.32,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "appearance": {
+ "style": "handwriting",
+ "styleConfidence": 0.855
+ },
+ "text": "in never failing ,",
+ "words": [
+ {
+ "boundingBox": [
+ 1611,
+ 934,
+ 1707,
+ 933,
+ 1708,
+ 1147,
+ 1613,
+ 1147
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1753,
+ 933,
+ 2132,
+ 930,
+ 2133,
+ 1144,
+ 1754,
+ 1146
+ ],
+ "text": "never",
+ "confidence": 0.999
+ },
+ {
+ "boundingBox": [
+ 2162,
+ 930,
+ 2673,
+ 927,
+ 2674,
+ 1140,
+ 2164,
+ 1144
+ ],
+ "text": "failing",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2703,
+ 926,
+ 2788,
+ 926,
+ 2790,
+ 1139,
+ 2705,
+ 1140
+ ],
+ "text": ",",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json
new file mode 100644
index 000000000000..dc0a4f1675a1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "Image": "{binary}",
+ "Pages": [
+ "2",
+ "3"
+ ]
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json
new file mode 100644
index 000000000000..a8d69fc50abe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "ImageUrl": {
+ "url": "{url}"
+ },
+ "Pages": [
+ "2",
+ "3"
+ ]
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
index 8fb795822422..1386894f71a3 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
@@ -16,6 +16,7 @@ batch:
- tag: release_2_0
- tag: release_2_1
- tag: release_3_0
+ - tag: release_3_1
```
### Tag: release_2_0 and go
@@ -43,4 +44,22 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_1_preview_2' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.1-preview.2/$(namespace)
+```
+
+### Tag: release_3_1 and go
+
+These settings apply only when `--tag=release_3_1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_1' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.1/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
index 020fca003e1d..aa285d970a63 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
@@ -4,11 +4,11 @@
Configuration for generating Computer Vision SDK.
-The current release is `release_3_0`.
+The current release is `release_3_1`.
``` yaml
-tag: release_3_0
+tag: release_3_1
add-credentials: true
openapi-type: data-plane
```
@@ -49,6 +49,23 @@ input-file:
- stable/v3.0/Ocr.json
```
+### Release 3.1-preview.2
+These settings apply only when `--tag=release_3_1_preview_2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1_preview_2'
+input-file:
+ - preview/v3.1-preview.2/Ocr.json
+```
+
+### 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/ComputerVision.json
+ - stable/v3.1/Ocr.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -166,6 +183,7 @@ input-file:
- $(this-folder)/preview/v3.0-preview/Ocr.json
- $(this-folder)/stable/v3.0/ComputerVision.json
- $(this-folder)/stable/v3.0/Ocr.json
+ - $(this-folder)/preview/v3.1-preview.2/Ocr.json
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
index 019525023fad..b93a320d0992 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
@@ -41,4 +41,15 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_1' && $(ruby)
+namespace: "Azure::CognitiveServices::ComputerVision::V3_1"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_computervision/lib
+title: "ComputerVisionClient"
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json
new file mode 100644
index 000000000000..35ef27a5a632
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json
@@ -0,0 +1,1840 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.1",
+ "title": "Computer Vision Client",
+ "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "host": "westcentralus.api.cognitive.microsoft.com",
+ "basePath": "/vision/v3.1",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/analyze": {
+ "post": {
+ "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "AnalyzeImage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/VisualFeatures"
+ },
+ {
+ "name": "details",
+ "in": "query",
+ "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Celebrities",
+ "Landmarks"
+ ],
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "Details",
+ "modelAsString": false
+ }
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/DescriptionExclude"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.",
+ "schema": {
+ "$ref": "#/definitions/ImageAnalysis"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful AnalyzeImage request": {
+ "$ref": "./examples/SuccessfulAnalyzeImageWithUrl.json"
+ }
+ }
+ }
+ },
+ "/describe": {
+ "post": {
+ "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "DescribeImage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "maxCandidates",
+ "in": "query",
+ "description": "Maximum number of candidate descriptions to be returned. The default is 1.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/DescriptionExclude"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image description object.",
+ "schema": {
+ "$ref": "#/definitions/ImageDescription"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DescribeImage request": {
+ "$ref": "./examples/SuccessfulDescribeImageWithUrl.json"
+ }
+ }
+ }
+ },
+ "/detect": {
+ "post": {
+ "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "DetectObjects",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the detected objects in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/DetectResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DetectObjects request": {
+ "$ref": "./examples/SuccessfulDetectObjectsWithUrl.json"
+ }
+ }
+ }
+ },
+ "/models": {
+ "get": {
+ "description": "This operation returns the list of domain-specific models that are supported by the Computer Vision API. Currently, the API supports following domain-specific models: celebrity recognizer, landmark recognizer.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "ListModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available domain models.",
+ "schema": {
+ "$ref": "#/definitions/ListModelsResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ListModels request": {
+ "$ref": "./examples/SuccessfulListModels.json"
+ }
+ }
+ }
+ },
+ "/models/{model}/analyze": {
+ "post": {
+ "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "AnalyzeImageByDomain",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "model",
+ "in": "path",
+ "description": "The domain-specific content to recognize.",
+ "required": true,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis result based on the domain model.",
+ "schema": {
+ "$ref": "#/definitions/DomainModelResults"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful AnalyzeImageByDomain request": {
+ "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithUrl.json"
+ }
+ }
+ }
+ },
+ "/ocr": {
+ "post": {
+ "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.",
+ "operationId": "RecognizePrintedText",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/DetectOrientation"
+ },
+ {
+ "$ref": "#/parameters/OcrLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.",
+ "schema": {
+ "$ref": "#/definitions/OcrResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful RecognizePrintedText request": {
+ "$ref": "./examples/SuccessfulRecognizePrintedTextWithUrl.json"
+ }
+ }
+ }
+ },
+ "/tag": {
+ "post": {
+ "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "TagImage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image tags object.",
+ "schema": {
+ "$ref": "#/definitions/TagResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TagImage request": {
+ "$ref": "./examples/SuccessfulTagImageWithUrl.json"
+ }
+ }
+ }
+ },
+ "/generateThumbnail": {
+ "post": {
+ "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.",
+ "operationId": "GenerateThumbnail",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1024,
+ "minimum": 1,
+ "x-nullable": false
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1024,
+ "minimum": 1,
+ "x-nullable": false
+ },
+ {
+ "name": "smartCropping",
+ "in": "query",
+ "description": "Boolean flag for enabling smart cropping.",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The generated thumbnail in binary format.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GenerateThumbnail request": {
+ "$ref": "./examples/SuccessfulGenerateThumbnailWithUrl.json"
+ }
+ }
+ }
+ },
+ "/areaOfInterest": {
+ "post": {
+ "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.",
+ "operationId": "GetAreaOfInterest",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response includes the extracted area of interest in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/AreaOfInterestResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetAreaOfInterest request": {
+ "$ref": "./examples/SuccessfulGetAreaOfInterestWithUrl.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ImageAnalysis": {
+ "description": "Result of AnalyzeImage operation.",
+ "type": "object",
+ "properties": {
+ "categories": {
+ "description": "An array indicating identified categories.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Category"
+ },
+ "x-nullable": true
+ },
+ "adult": {
+ "$ref": "#/definitions/AdultInfo",
+ "description": "An object describing whether the image contains adult-oriented content and/or is racy."
+ },
+ "color": {
+ "$ref": "#/definitions/ColorInfo",
+ "description": "An object providing additional metadata describing color attributes."
+ },
+ "imageType": {
+ "$ref": "#/definitions/ImageType",
+ "description": "An object providing possible image types and matching confidence levels."
+ },
+ "tags": {
+ "description": "A list of tags with confidence level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "x-nullable": true
+ },
+ "description": {
+ "$ref": "#/definitions/ImageDescriptionDetails",
+ "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata."
+ },
+ "faces": {
+ "description": "An array of possible faces within the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FaceDescription"
+ },
+ "x-nullable": true
+ },
+ "objects": {
+ "description": "Array of objects describing what was detected in the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedObject"
+ },
+ "x-nullable": true
+ },
+ "brands": {
+ "description": "Array of brands detected in the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedBrand"
+ },
+ "x-nullable": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "Category": {
+ "description": "An object describing identified category.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the category.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "score": {
+ "format": "double",
+ "description": "Scoring of the category.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "detail": {
+ "$ref": "#/definitions/CategoryDetail",
+ "description": "Details of the identified category."
+ }
+ },
+ "x-nullable": true
+ },
+ "AdultInfo": {
+ "description": "An object describing whether the image contains adult-oriented content and/or is racy.",
+ "type": "object",
+ "properties": {
+ "isAdultContent": {
+ "description": "A value indicating if the image contains adult-oriented content.",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "isRacyContent": {
+ "description": "A value indicating if the image is racy.",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "isGoryContent": {
+ "description": "A value indicating if the image is gory.",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "adultScore": {
+ "format": "double",
+ "description": "Score from 0 to 1 that indicates how much the content is considered adult-oriented within the image.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "racyScore": {
+ "format": "double",
+ "description": "Score from 0 to 1 that indicates how suggestive is the image.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "goreScore": {
+ "format": "double",
+ "description": "Score from 0 to 1 that indicates how gory is the image.",
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ColorInfo": {
+ "description": "An object providing additional metadata describing color attributes.",
+ "type": "object",
+ "properties": {
+ "dominantColorForeground": {
+ "description": "Possible dominant foreground color.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "dominantColorBackground": {
+ "description": "Possible dominant background color.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "dominantColors": {
+ "description": "An array of possible dominant colors.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "x-nullable": true
+ },
+ "accentColor": {
+ "description": "Possible accent color.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "isBWImg": {
+ "description": "A value indicating if the image is black and white.",
+ "type": "boolean",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageType": {
+ "description": "An object providing possible image types and matching confidence levels.",
+ "type": "object",
+ "properties": {
+ "clipArtType": {
+ "format": "int32",
+ "description": "Confidence level that the image is a clip art.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "lineDrawingType": {
+ "format": "int32",
+ "description": "Confidence level that the image is a line drawing.",
+ "type": "integer",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTag": {
+ "description": "An entity observation in the image, along with the confidence score.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the entity.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "The level of confidence that the entity was observed.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "hint": {
+ "description": "Optional hint/details for this tag.",
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageDescriptionDetails": {
+ "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "A collection of image tags.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "x-nullable": true
+ },
+ "captions": {
+ "description": "A list of captions, sorted by confidence level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageCaption"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "FaceDescription": {
+ "description": "An object describing a face identified in the image.",
+ "type": "object",
+ "properties": {
+ "age": {
+ "format": "int32",
+ "description": "Possible age of the face.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "gender": {
+ "description": "Possible gender of the face.",
+ "enum": [
+ "Male",
+ "Female"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Gender",
+ "modelAsString": false
+ },
+ "x-nullable": true
+ },
+ "faceRectangle": {
+ "$ref": "#/definitions/FaceRectangle",
+ "description": "Rectangle in the image containing the identified face."
+ }
+ },
+ "x-nullable": true
+ },
+ "DetectedObject": {
+ "description": "An object detected in an image.",
+ "type": "object",
+ "properties": {
+ "rectangle": {
+ "$ref": "#/definitions/BoundingRect",
+ "description": "Approximate location of the detected object.",
+ "readOnly": true
+ },
+ "object": {
+ "description": "Label for the object.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "parent": {
+ "$ref": "#/definitions/ObjectHierarchy",
+ "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'."
+ }
+ },
+ "x-nullable": true
+ },
+ "DetectedBrand": {
+ "description": "A brand detected in an image.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Label for the brand.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence score of having observed the brand in the image, as a value ranging from 0 to 1.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "rectangle": {
+ "$ref": "#/definitions/BoundingRect",
+ "description": "Approximate location of the detected brand.",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageMetadata": {
+ "description": "Image metadata.",
+ "type": "object",
+ "properties": {
+ "width": {
+ "format": "int32",
+ "description": "Image width, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Image height, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "format": {
+ "description": "Image format.",
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "CategoryDetail": {
+ "description": "An object describing additional category details.",
+ "type": "object",
+ "properties": {
+ "celebrities": {
+ "description": "An array of celebrities if any identified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CelebritiesModel"
+ },
+ "x-nullable": true
+ },
+ "landmarks": {
+ "description": "An array of landmarks if any identified.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LandmarksModel"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageCaption": {
+ "description": "An image caption, i.e. a brief description of what the image depicts.",
+ "type": "object",
+ "properties": {
+ "text": {
+ "description": "The text of the caption.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "The level of confidence the service has in the caption.",
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "FaceRectangle": {
+ "description": "An object describing face rectangle.",
+ "type": "object",
+ "properties": {
+ "left": {
+ "format": "int32",
+ "description": "X-coordinate of the top left point of the face, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "top": {
+ "format": "int32",
+ "description": "Y-coordinate of the top left point of the face, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "description": "Width measured from the top-left point of the face, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height measured from the top-left point of the face, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "BoundingRect": {
+ "description": "A bounding box for an area inside an image.",
+ "type": "object",
+ "properties": {
+ "x": {
+ "format": "int32",
+ "description": "X-coordinate of the top left point of the area, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "y": {
+ "format": "int32",
+ "description": "Y-coordinate of the top left point of the area, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "w": {
+ "format": "int32",
+ "description": "Width measured from the top-left point of the area, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "h": {
+ "format": "int32",
+ "description": "Height measured from the top-left point of the area, in pixels.",
+ "type": "integer",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": false
+ },
+ "ObjectHierarchy": {
+ "description": "An object detected inside an image.",
+ "type": "object",
+ "properties": {
+ "object": {
+ "description": "Label for the object.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "parent": {
+ "$ref": "#/definitions/ObjectHierarchy",
+ "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'."
+ }
+ },
+ "x-nullable": true
+ },
+ "CelebritiesModel": {
+ "description": "An object describing possible celebrity identification.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the celebrity.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence level for the celebrity recognition as a value ranging from 0 to 1.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "faceRectangle": {
+ "$ref": "#/definitions/FaceRectangle",
+ "description": "Location of the identified face in the image."
+ }
+ },
+ "x-nullable": true
+ },
+ "LandmarksModel": {
+ "description": "A landmark recognized in the image.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the landmark.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence level for the landmark recognition as a value ranging from 0 to 1.",
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageDescription": {
+ "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "$ref": "#/definitions/ImageDescriptionDetails",
+ "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.",
+ "x-ms-client-flatten": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "DetectResult": {
+ "description": "Result of a DetectImage call.",
+ "type": "object",
+ "properties": {
+ "objects": {
+ "description": "An array of detected objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedObject"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "ListModelsResult": {
+ "description": "Result of the List Domain Models operation.",
+ "type": "object",
+ "properties": {
+ "models": {
+ "description": "An array of supported models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelDescription"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ModelDescription": {
+ "description": "An object describing supported model by name and categories.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the model.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "categories": {
+ "description": "Categories of the model.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "DomainModelResults": {
+ "description": "Result of image analysis using a specific domain model including additional metadata.",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Model-specific response.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "OcrResult": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "description": "The BCP-47 language code of the text in the image.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "textAngle": {
+ "format": "double",
+ "description": "The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "orientation": {
+ "description": "Orientation of the text recognized in the image, if requested. The value (up, down, left, or right) refers to the direction that the top of the recognized text is facing, after the image has been rotated around its center according to the detected text angle (see textAngle property).\r\nIf detection of the orientation was not requested, or no text is detected, the value is 'NotDetected'.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "regions": {
+ "description": "An array of objects, where each object represents a region of recognized text.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OcrRegion"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "OcrRegion": {
+ "description": "A region consists of multiple lines (e.g. a column of text in a multi-column document).",
+ "type": "object",
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized region. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "lines": {
+ "description": "An array of recognized lines of text.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OcrLine"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "OcrLine": {
+ "description": "An object describing a single recognized line of text.",
+ "type": "object",
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized line. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "words": {
+ "description": "An array of objects, where each object represents a recognized word.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OcrWord"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "OcrWord": {
+ "description": "Information on a recognized word.",
+ "type": "object",
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized word. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "text": {
+ "description": "String value of a recognized word.",
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "TagResult": {
+ "description": "The results of a image tag operation, including any tags and image metadata.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "A list of tags with confidence level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "x-nullable": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "AreaOfInterestResult": {
+ "description": "Result of AreaOfInterest operation.",
+ "type": "object",
+ "properties": {
+ "areaOfInterest": {
+ "$ref": "#/definitions/BoundingRect",
+ "description": "A bounding box for an area of interest inside an image.",
+ "readOnly": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageUrl": {
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Publicly reachable URL of an image.",
+ "type": "string"
+ }
+ }
+ },
+ "ComputerVisionError": {
+ "description": "Details about the API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "NotSupportedFeature",
+ "NotSupportedImage",
+ "Timeout",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "DetectFaceError",
+ "NotSupportedLanguage",
+ "InvalidThumbnailSize",
+ "InvalidDetails",
+ "InvalidModel",
+ "CancelledRequest",
+ "NotSupportedVisualFeature",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "A unique request identifier.",
+ "type": "string"
+ }
+ }
+ },
+ "LandmarkResults": {
+ "description": "Result of domain-specific classifications for the domain of landmarks.",
+ "type": "object",
+ "properties": {
+ "landmarks": {
+ "description": "List of landmarks recognized in the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LandmarksModel"
+ },
+ "x-nullable": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ },
+ "CelebrityResults": {
+ "description": "Result of domain-specific classifications for the domain of celebrities.",
+ "type": "object",
+ "properties": {
+ "celebrities": {
+ "description": "List of celebrities recognized in the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CelebritiesModel"
+ },
+ "x-nullable": true
+ },
+ "requestId": {
+ "description": "Id of the REST API request.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "metadata": {
+ "$ref": "#/definitions/ImageMetadata"
+ }
+ },
+ "x-nullable": true
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoints.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ },
+ "ImageStream": {
+ "name": "Image",
+ "in": "body",
+ "description": "An image stream.",
+ "required": true,
+ "schema": {
+ "format": "file",
+ "type": "object"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ImageUrl": {
+ "name": "ImageUrl",
+ "in": "body",
+ "description": "A JSON document with a URL pointing to the image that is to be analyzed.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ },
+ "x-ms-parameter-location": "method",
+ "x-ms-client-flatten": true
+ },
+ "ServiceLanguage": {
+ "name": "language",
+ "in": "query",
+ "description": "The desired language for output generation. If this parameter is not specified, the default value is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, zh - Simplified Chinese.",
+ "required": false,
+ "type": "string",
+ "default": "en",
+ "enum": [
+ "en",
+ "es",
+ "ja",
+ "pt",
+ "zh"
+ ],
+ "x-ms-parameter-location": "method",
+ "x-nullable": false
+ },
+ "DescriptionExclude": {
+ "name": "descriptionExclude",
+ "in": "query",
+ "description": "Turn off specified domain models when generating the description.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Celebrities",
+ "Landmarks"
+ ],
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "DescriptionExclude",
+ "modelAsString": false
+ }
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true,
+ "x-ms-parameter-location": "method"
+ },
+ "OcrLanguage": {
+ "name": "language",
+ "in": "query",
+ "description": "The BCP-47 language code of the text to be detected in the image. The default value is 'unk'.",
+ "required": false,
+ "type": "string",
+ "default": "unk",
+ "enum": [
+ "unk",
+ "zh-Hans",
+ "zh-Hant",
+ "cs",
+ "da",
+ "nl",
+ "en",
+ "fi",
+ "fr",
+ "de",
+ "el",
+ "hu",
+ "it",
+ "ja",
+ "ko",
+ "nb",
+ "pl",
+ "pt",
+ "ru",
+ "es",
+ "sv",
+ "tr",
+ "ar",
+ "ro",
+ "sr-Cyrl",
+ "sr-Latn",
+ "sk"
+ ],
+ "x-ms-parameter-location": "method",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "OcrLanguages",
+ "modelAsString": false
+ }
+ },
+ "VisualFeatures": {
+ "name": "visualFeatures",
+ "in": "query",
+ "description": "A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include: Categories - categorizes image content according to a taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image content. Description - describes the image content with a complete English sentence. Faces - detects if faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart or a line drawing. Color - determines the accent color, dominant color, and whether an image is black&white. Adult - detects if the image is pornographic in nature (depicts nudity or a sex act), or is gory (depicts extreme violence or blood). Sexually suggestive content (aka racy content) is also detected. Objects - detects various objects within an image, including the approximate location. The Objects argument is only available in English. Brands - detects various brands within an image, including the approximate location. The Brands argument is only available in English.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ImageType",
+ "Faces",
+ "Adult",
+ "Categories",
+ "Color",
+ "Tags",
+ "Description",
+ "Objects",
+ "Brands"
+ ],
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "VisualFeatureTypes",
+ "modelAsString": false
+ }
+ },
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method"
+ },
+ "DetectOrientation": {
+ "name": "detectOrientation",
+ "in": "query",
+ "description": "Whether detect the text orientation in the image. With detectOrientation=true the OCR service tries to detect the image orientation and correct it before further processing (e.g. if it's upside-down).",
+ "required": true,
+ "type": "boolean",
+ "default": true,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "x-ms-paths": {
+ "/analyze?overload=stream": {
+ "post": {
+ "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "AnalyzeImageInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/VisualFeatures"
+ },
+ {
+ "name": "details",
+ "in": "query",
+ "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Celebrities",
+ "Landmarks"
+ ],
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "Details",
+ "modelAsString": false
+ }
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/DescriptionExclude"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.",
+ "schema": {
+ "$ref": "#/definitions/ImageAnalysis"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful AnalyzeImage request": {
+ "$ref": "./examples/SuccessfulAnalyzeImageWithStream.json"
+ }
+ }
+ }
+ },
+ "/areaOfInterest?overload=stream": {
+ "post": {
+ "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.",
+ "operationId": "GetAreaOfInterestInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response includes the extracted area of interest in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/AreaOfInterestResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetAreaOfInterest request": {
+ "$ref": "./examples/SuccessfulGetAreaOfInterestWithStream.json"
+ }
+ }
+ }
+ },
+ "/describe?overload=stream": {
+ "post": {
+ "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "DescribeImageInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "maxCandidates",
+ "in": "query",
+ "description": "Maximum number of candidate descriptions to be returned. The default is 1.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/DescriptionExclude"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image description object.",
+ "schema": {
+ "$ref": "#/definitions/ImageDescription"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DescribeImage request": {
+ "$ref": "./examples/SuccessfulDescribeImageWithStream.json"
+ }
+ }
+ }
+ },
+ "/detect?overload=stream": {
+ "post": {
+ "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "DetectObjectsInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the detected objects in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/DetectResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DetectObjects request": {
+ "$ref": "./examples/SuccessfulDetectObjectsWithStream.json"
+ }
+ }
+ }
+ },
+ "/generateThumbnail?overload=stream": {
+ "post": {
+ "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.",
+ "operationId": "GenerateThumbnailInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1024,
+ "minimum": 1,
+ "x-nullable": false
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1024,
+ "minimum": 1,
+ "x-nullable": false
+ },
+ {
+ "name": "smartCropping",
+ "in": "query",
+ "description": "Boolean flag for enabling smart cropping.",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The generated thumbnail in binary format.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GenerateThumbnail request": {
+ "$ref": "./examples/SuccessfulGenerateThumbnailWithStream.json"
+ }
+ }
+ }
+ },
+ "/models/{model}/analyze?overload=stream": {
+ "post": {
+ "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "AnalyzeImageByDomainInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "model",
+ "in": "path",
+ "description": "The domain-specific content to recognize.",
+ "required": true,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis result based on the domain model.",
+ "schema": {
+ "$ref": "#/definitions/DomainModelResults"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful AnalyzeImageByDomain request": {
+ "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithStream.json"
+ }
+ }
+ }
+ },
+ "/ocr?overload=stream": {
+ "post": {
+ "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.",
+ "operationId": "RecognizePrintedTextInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/DetectOrientation"
+ },
+ {
+ "$ref": "#/parameters/OcrLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.",
+ "schema": {
+ "$ref": "#/definitions/OcrResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful RecognizePrintedText request": {
+ "$ref": "./examples/SuccessfulRecognizePrintedTextWithStream.json"
+ }
+ }
+ }
+ },
+ "/tag?overload=stream": {
+ "post": {
+ "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.",
+ "operationId": "TagImageInStream",
+ "consumes": [
+ "application/octet-stream",
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image tags object.",
+ "schema": {
+ "$ref": "#/definitions/TagResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TagImage request": {
+ "$ref": "./examples/SuccessfulTagImageWithStream.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json
new file mode 100644
index 000000000000..9d0e2df9700a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json
@@ -0,0 +1,452 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.1",
+ "title": "Computer Vision Client",
+ "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "host": "westcentralus.api.cognitive.microsoft.com",
+ "basePath": "/vision/v3.1",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/read/analyze": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "Read",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithUrl.json"
+ }
+ }
+ }
+ },
+ "/read/analyzeResults/{operationId}": {
+ "get": {
+ "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.",
+ "operationId": "GetReadResult",
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id of read operation returned in the response of the 'Read' interface.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the read operation status.",
+ "schema": {
+ "$ref": "#/definitions/ReadOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Read Result request": {
+ "$ref": "./examples/SuccessfulGetReadResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/read/analyze?overload=stream": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "ReadInStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithStream.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReadOperationResult": {
+ "type": "object",
+ "description": "OCR result of the read operation.",
+ "properties": {
+ "status": {
+ "description": "Status of the read operation.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "type": "string",
+ "description": "Get UTC date time the batch operation was submitted.",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "description": "Get last updated UTC date time of this batch operation.",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "$ref": "#/definitions/analyzeResults"
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status code of the text operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "failed",
+ "succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatusCodes",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit",
+ "lines"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number of the recognition result.",
+ "type": "integer"
+ },
+ "language": {
+ "description": "The BCP-47 language code of the recognized text page.",
+ "type": "string"
+ },
+ "angle": {
+ "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).",
+ "type": "number"
+ },
+ "width": {
+ "description": "The width of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "height": {
+ "description": "The height of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "unit": {
+ "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "TextRecognitionResultDimensionUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "lines": {
+ "description": "A list of recognized text lines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Line"
+ }
+ }
+ }
+ },
+ "analyzeResults": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ }
+ }
+ },
+ "Line": {
+ "description": "An object representing a recognized text line.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "words"
+ ],
+ "properties": {
+ "language": {
+ "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of a recognized line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Word"
+ }
+ }
+ }
+ },
+ "Word": {
+ "description": "An object representing a recognized word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "confidence"
+ ],
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "confidence": {
+ "description": "Qualitative confidence measure.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.",
+ "type": "array",
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "ComputerVisionError": {
+ "description": "Details about the API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "NotSupportedFeature",
+ "NotSupportedImage",
+ "Timeout",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "DetectFaceError",
+ "NotSupportedLanguage",
+ "InvalidThumbnailSize",
+ "InvalidDetails",
+ "InvalidModel",
+ "CancelledRequest",
+ "NotSupportedVisualFeature",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "A unique request identifier.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageUrl": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "Publicly reachable URL of an image.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "OcrDetectionLanguage": {
+ "name": "language",
+ "in": "query",
+ "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch (‘nl’), French (‘fr’), German (‘de’), Italian (‘it’), Portuguese (‘pt), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.",
+ "required": false,
+ "default": "en",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OcrDetectionLanguage",
+ "modelAsString": true
+ },
+ "enum": [
+ "en",
+ "es",
+ "fr",
+ "de",
+ "it",
+ "nl",
+ "pt"
+ ]
+ },
+ "ImageUrl": {
+ "name": "ImageUrl",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-client-flatten": true,
+ "description": "A JSON document with a URL pointing to the image that is to be analyzed.",
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ "ImageStream": {
+ "name": "Image",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "An image stream.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints.",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json
new file mode 100644
index 000000000000..a3cd00555cc6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "model": "Celebrities",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "result": {
+ "celebrities": [
+ {
+ "name": "Satya Nadella",
+ "faceRectangle": {
+ "left": 597,
+ "top": 162,
+ "width": 248,
+ "height": 248
+ },
+ "confidence": 0.999028444
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json
new file mode 100644
index 000000000000..92ead72b5f8f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "model": "Celebrities",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "result": {
+ "celebrities": [
+ {
+ "name": "Satya Nadella",
+ "faceRectangle": {
+ "left": 597,
+ "top": 162,
+ "width": 248,
+ "height": 248
+ },
+ "confidence": 0.999028444
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json
new file mode 100644
index 000000000000..ba86791a7e36
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "visualFeatures": [
+ "Categories",
+ "Adult",
+ "Tags",
+ "Description",
+ "Faces",
+ "Color",
+ "ImageType",
+ "Objects",
+ "Brands"
+ ],
+ "details": [
+ "Celebrities",
+ "Landmarks"
+ ],
+ "language": "en",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "categories": [
+ {
+ "name": "abstract_",
+ "score": 0.00390625
+ },
+ {
+ "name": "people_",
+ "score": 0.83984375,
+ "detail": {
+ "celebrities": [
+ {
+ "name": "Satya Nadella",
+ "faceRectangle": {
+ "left": 597,
+ "top": 162,
+ "width": 248,
+ "height": 248
+ },
+ "confidence": 0.999028444
+ }
+ ],
+ "landmarks": [
+ {
+ "name": "Forbidden City",
+ "confidence": 0.9978346
+ }
+ ]
+ }
+ }
+ ],
+ "adult": {
+ "isAdultContent": false,
+ "isRacyContent": false,
+ "isGoryContent": false,
+ "adultScore": 0.0934349000453949,
+ "racyScore": 0.068613491952419281,
+ "goreScore": 0.012872257380997575
+ },
+ "tags": [
+ {
+ "name": "person",
+ "confidence": 0.98979085683822632
+ },
+ {
+ "name": "man",
+ "confidence": 0.94493889808654785
+ },
+ {
+ "name": "outdoor",
+ "confidence": 0.938492476940155
+ },
+ {
+ "name": "window",
+ "confidence": 0.89513939619064331
+ },
+ {
+ "name": "pangolin",
+ "confidence": 0.7250059783791661,
+ "hint": "mammal"
+ }
+ ],
+ "description": {
+ "tags": [
+ "person",
+ "man",
+ "outdoor",
+ "window",
+ "glasses"
+ ],
+ "captions": [
+ {
+ "text": "Satya Nadella sitting on a bench",
+ "confidence": 0.48293603002174407
+ }
+ ]
+ },
+ "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "faces": [
+ {
+ "age": 44,
+ "gender": "Male",
+ "faceRectangle": {
+ "left": 593,
+ "top": 160,
+ "width": 250,
+ "height": 250
+ }
+ }
+ ],
+ "color": {
+ "dominantColorForeground": "Brown",
+ "dominantColorBackground": "Brown",
+ "dominantColors": [
+ "Brown",
+ "Black"
+ ],
+ "accentColor": "873B59",
+ "isBWImg": false
+ },
+ "imageType": {
+ "clipArtType": 0,
+ "lineDrawingType": 0
+ },
+ "objects": [
+ {
+ "rectangle": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 50
+ },
+ "object": "tree",
+ "confidence": 0.9,
+ "parent": {
+ "object": "plant",
+ "confidence": 0.95
+ }
+ }
+ ],
+ "brands": [
+ {
+ "name": "Pepsi",
+ "confidence": 0.857,
+ "rectangle": {
+ "x": 489,
+ "y": 79,
+ "w": 161,
+ "h": 177
+ }
+ },
+ {
+ "name": "Coca-Cola",
+ "confidence": 0.893,
+ "rectangle": {
+ "x": 216,
+ "y": 55,
+ "w": 171,
+ "h": 372
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json
new file mode 100644
index 000000000000..be78226e0e16
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "visualFeatures": [
+ "Categories",
+ "Adult",
+ "Tags",
+ "Description",
+ "Faces",
+ "Color",
+ "ImageType",
+ "Objects",
+ "Brands"
+ ],
+ "details": [
+ "Celebrities",
+ "Landmarks"
+ ],
+ "language": "en",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "categories": [
+ {
+ "name": "abstract_",
+ "score": 0.00390625
+ },
+ {
+ "name": "people_",
+ "score": 0.83984375,
+ "detail": {
+ "celebrities": [
+ {
+ "name": "Satya Nadella",
+ "faceRectangle": {
+ "left": 597,
+ "top": 162,
+ "width": 248,
+ "height": 248
+ },
+ "confidence": 0.999028444
+ }
+ ]
+ }
+ },
+ {
+ "name": "building_",
+ "score": 0.984375,
+ "detail": {
+ "landmarks": [
+ {
+ "name": "Forbidden City",
+ "confidence": 0.98290169239044189
+ }
+ ]
+ }
+ }
+ ],
+ "adult": {
+ "isAdultContent": false,
+ "isRacyContent": false,
+ "isGoryContent": false,
+ "adultScore": 0.0934349000453949,
+ "racyScore": 0.068613491952419281,
+ "goreScore": 0.012872257380997575
+ },
+ "tags": [
+ {
+ "name": "person",
+ "confidence": 0.98979085683822632
+ },
+ {
+ "name": "man",
+ "confidence": 0.94493889808654785
+ },
+ {
+ "name": "outdoor",
+ "confidence": 0.938492476940155
+ },
+ {
+ "name": "window",
+ "confidence": 0.89513939619064331
+ },
+ {
+ "name": "pangolin",
+ "confidence": 0.7250059783791661,
+ "hint": "mammal"
+ }
+ ],
+ "description": {
+ "tags": [
+ "person",
+ "man",
+ "outdoor",
+ "window",
+ "glasses"
+ ],
+ "captions": [
+ {
+ "text": "Satya Nadella sitting on a bench",
+ "confidence": 0.48293603002174407
+ }
+ ]
+ },
+ "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "faces": [
+ {
+ "age": 44,
+ "gender": "Male",
+ "faceRectangle": {
+ "left": 593,
+ "top": 160,
+ "width": 250,
+ "height": 250
+ }
+ }
+ ],
+ "color": {
+ "dominantColorForeground": "Brown",
+ "dominantColorBackground": "Brown",
+ "dominantColors": [
+ "Brown",
+ "Black"
+ ],
+ "accentColor": "873B59",
+ "isBWImg": false
+ },
+ "imageType": {
+ "clipArtType": 0,
+ "lineDrawingType": 0
+ },
+ "objects": [
+ {
+ "rectangle": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 50
+ },
+ "object": "tree",
+ "confidence": 0.9,
+ "parent": {
+ "object": "plant",
+ "confidence": 0.95
+ }
+ }
+ ],
+ "brands": [
+ {
+ "name": "Pepsi",
+ "confidence": 0.857,
+ "rectangle": {
+ "x": 489,
+ "y": 79,
+ "w": 161,
+ "h": 177
+ }
+ },
+ {
+ "name": "Coca-Cola",
+ "confidence": 0.893,
+ "rectangle": {
+ "x": 216,
+ "y": 55,
+ "w": 171,
+ "h": 372
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json
new file mode 100644
index 000000000000..071248140600
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "maxCandidates": 1,
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "description": {
+ "tags": [
+ "person",
+ "man",
+ "outdoor",
+ "window",
+ "glasses"
+ ],
+ "captions": [
+ {
+ "text": "Satya Nadella sitting on a bench",
+ "confidence": 0.48293603002174407
+ },
+ {
+ "text": "Satya Nadella is sitting on a bench",
+ "confidence": 0.40037006815422832
+ },
+ {
+ "text": "Satya Nadella sitting in front of a building",
+ "confidence": 0.38035155997373377
+ }
+ ]
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json
new file mode 100644
index 000000000000..087ac0515231
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "maxCandidates": 1,
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "description": {
+ "tags": [
+ "person",
+ "man",
+ "outdoor",
+ "window",
+ "glasses"
+ ],
+ "captions": [
+ {
+ "text": "Satya Nadella sitting on a bench",
+ "confidence": 0.48293603002174407
+ },
+ {
+ "text": "Satya Nadella is sitting on a bench",
+ "confidence": 0.40037006815422832
+ },
+ {
+ "text": "Satya Nadella sitting in front of a building",
+ "confidence": 0.38035155997373377
+ }
+ ]
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json
new file mode 100644
index 000000000000..8f4ad7fd73aa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objects": [
+ {
+ "rectangle": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 50
+ },
+ "object": "tree",
+ "confidence": 0.9,
+ "parent": {
+ "object": "plant",
+ "confidence": 0.95
+ }
+ }
+ ],
+ "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337",
+ "metadata": {
+ "width": 100,
+ "height": 100,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json
new file mode 100644
index 000000000000..7ea387eb41be
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objects": [
+ {
+ "rectangle": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 50
+ },
+ "object": "tree",
+ "confidence": 0.9,
+ "parent": {
+ "object": "plant",
+ "confidence": 0.95
+ }
+ }
+ ],
+ "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337",
+ "metadata": {
+ "width": 100,
+ "height": 100,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json
new file mode 100644
index 000000000000..22d52fbe7644
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "width": "500",
+ "height": "500",
+ "smartCropping": true,
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "{binary}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json
new file mode 100644
index 000000000000..28744179ecb8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "width": "500",
+ "height": "500",
+ "smartCropping": true,
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "{Binary}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json
new file mode 100644
index 000000000000..ae32a21a551e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "areaOfInterest": {
+ "h": 951,
+ "w": 950,
+ "x": 160,
+ "y": 0
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "format": "Jpeg",
+ "height": 951,
+ "width": 1378
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json
new file mode 100644
index 000000000000..7d6d08208836
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "areaOfInterest": {
+ "h": 951,
+ "w": 950,
+ "x": 160,
+ "y": 0
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "format": "Jpeg",
+ "height": 951,
+ "width": 1378
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json
new file mode 100644
index 000000000000..944e52b9d113
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json
@@ -0,0 +1,369 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-10-03T14:32:04.236Z",
+ "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z",
+ "analyzeResult": {
+ "version": "v3.1",
+ "readResults": [
+ {
+ "page": 1,
+ "language": "en",
+ "angle": 49.59,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 202,
+ 618,
+ 2047,
+ 643,
+ 2046,
+ 840,
+ 200,
+ 813
+ ],
+ "text": "Our greatest glory is not",
+ "words": [
+ {
+ "boundingBox": [
+ 204,
+ 627,
+ 481,
+ 628,
+ 481,
+ 830,
+ 204,
+ 829
+ ],
+ "text": "Our",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 519,
+ 628,
+ 1057,
+ 630,
+ 1057,
+ 832,
+ 518,
+ 830
+ ],
+ "text": "greatest",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1114,
+ 630,
+ 1549,
+ 631,
+ 1548,
+ 833,
+ 1114,
+ 832
+ ],
+ "text": "glory",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1586,
+ 631,
+ 1785,
+ 632,
+ 1784,
+ 834,
+ 1586,
+ 833
+ ],
+ "text": "is",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1822,
+ 632,
+ 2115,
+ 633,
+ 2115,
+ 835,
+ 1822,
+ 834
+ ],
+ "text": "not",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "boundingBox": [
+ 420,
+ 1273,
+ 2954,
+ 1250,
+ 2958,
+ 1488,
+ 422,
+ 1511
+ ],
+ "text": "but in rising every time we fall",
+ "words": [
+ {
+ "boundingBox": [
+ 423,
+ 1269,
+ 634,
+ 1268,
+ 635,
+ 1507,
+ 424,
+ 1508
+ ],
+ "text": "but",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 667,
+ 1268,
+ 808,
+ 1268,
+ 809,
+ 1506,
+ 668,
+ 1507
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 874,
+ 1267,
+ 1289,
+ 1265,
+ 1290,
+ 1504,
+ 875,
+ 1506
+ ],
+ "text": "rising",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1331,
+ 1265,
+ 1771,
+ 1263,
+ 1772,
+ 1502,
+ 1332,
+ 1504
+ ],
+ "text": "every",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1812,
+ 1263,
+ 2178,
+ 1261,
+ 2179,
+ 1500,
+ 1813,
+ 1502
+ ],
+ "text": "time",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2219,
+ 1261,
+ 2510,
+ 1260,
+ 2511,
+ 1498,
+ 2220,
+ 1500
+ ],
+ "text": "we",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2551,
+ 1260,
+ 3016,
+ 1258,
+ 3017,
+ 1496,
+ 2552,
+ 1498
+ ],
+ "text": "fall",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "language": "es",
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "text": "Viva la vida",
+ "words": [
+ {
+ "boundingBox": [
+ 323,
+ 454,
+ 416,
+ 449,
+ 418,
+ 494,
+ 325,
+ 501
+ ],
+ "text": "Viva",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 92,
+ 550,
+ 429,
+ 541,
+ 430,
+ 591,
+ 94,
+ 600
+ ],
+ "text": "la",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 58,
+ 466,
+ 268,
+ 458,
+ 270,
+ 505,
+ 161,
+ 512
+ ],
+ "text": "vida",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "page": 2,
+ "language": "en",
+ "angle": 1.32,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "text": "in never failing ,",
+ "words": [
+ {
+ "boundingBox": [
+ 1611,
+ 934,
+ 1707,
+ 933,
+ 1708,
+ 1147,
+ 1613,
+ 1147
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1753,
+ 933,
+ 2132,
+ 930,
+ 2133,
+ 1144,
+ 1754,
+ 1146
+ ],
+ "text": "never",
+ "confidence": 0.999
+ },
+ {
+ "boundingBox": [
+ 2162,
+ 930,
+ 2673,
+ 927,
+ 2674,
+ 1140,
+ 2164,
+ 1144
+ ],
+ "text": "failing",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2703,
+ 926,
+ 2788,
+ 926,
+ 2790,
+ 1139,
+ 2705,
+ 1140
+ ],
+ "text": ",",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json
new file mode 100644
index 000000000000..54e72d376431
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "models": [
+ {
+ "name": "celebrities",
+ "categories": [
+ "people_"
+ ]
+ },
+ {
+ "name": "landmarks",
+ "categories": [
+ "building_"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json
new file mode 100644
index 000000000000..a9728b640867
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json
new file mode 100644
index 000000000000..60c4dc56a96c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json
new file mode 100644
index 000000000000..201d0fe48254
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "detectOrientation": "true",
+ "language": "en",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "language": "en",
+ "textAngle": -2.0000000000000338,
+ "orientation": "Up",
+ "regions": [
+ {
+ "boundingBox": "462,379,497,258",
+ "lines": [
+ {
+ "boundingBox": "462,379,497,74",
+ "words": [
+ {
+ "boundingBox": "462,379,41,73",
+ "text": "A"
+ },
+ {
+ "boundingBox": "523,379,153,73",
+ "text": "GOAL"
+ },
+ {
+ "boundingBox": "694,379,265,74",
+ "text": "WITHOUT"
+ }
+ ]
+ },
+ {
+ "boundingBox": "565,471,289,74",
+ "words": [
+ {
+ "boundingBox": "565,471,41,73",
+ "text": "A"
+ },
+ {
+ "boundingBox": "626,471,150,73",
+ "text": "PLAN"
+ },
+ {
+ "boundingBox": "801,472,53,73",
+ "text": "IS"
+ }
+ ]
+ },
+ {
+ "boundingBox": "519,563,375,74",
+ "words": [
+ {
+ "boundingBox": "519,563,149,74",
+ "text": "JUST"
+ },
+ {
+ "boundingBox": "683,564,41,72",
+ "text": "A"
+ },
+ {
+ "boundingBox": "741,564,153,73",
+ "text": "WISH"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json
new file mode 100644
index 000000000000..a0b8bc84e37b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "detectOrientation": "true",
+ "language": "en",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "language": "en",
+ "textAngle": -2.0000000000000338,
+ "orientation": "Up",
+ "regions": [
+ {
+ "boundingBox": "462,379,497,258",
+ "lines": [
+ {
+ "boundingBox": "462,379,497,74",
+ "words": [
+ {
+ "boundingBox": "462,379,41,73",
+ "text": "A"
+ },
+ {
+ "boundingBox": "523,379,153,73",
+ "text": "GOAL"
+ },
+ {
+ "boundingBox": "694,379,265,74",
+ "text": "WITHOUT"
+ }
+ ]
+ },
+ {
+ "boundingBox": "565,471,289,74",
+ "words": [
+ {
+ "boundingBox": "565,471,41,73",
+ "text": "A"
+ },
+ {
+ "boundingBox": "626,471,150,73",
+ "text": "PLAN"
+ },
+ {
+ "boundingBox": "801,472,53,73",
+ "text": "IS"
+ }
+ ]
+ },
+ {
+ "boundingBox": "519,563,375,74",
+ "words": [
+ {
+ "boundingBox": "519,563,149,74",
+ "text": "JUST"
+ },
+ {
+ "boundingBox": "683,564,41,72",
+ "text": "A"
+ },
+ {
+ "boundingBox": "741,564,153,73",
+ "text": "WISH"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json
new file mode 100644
index 000000000000..813a645d0086
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": [
+ {
+ "name": "grass",
+ "confidence": 0.9999997615814209
+ },
+ {
+ "name": "outdoor",
+ "confidence": 0.99997067451477051
+ },
+ {
+ "name": "sky",
+ "confidence": 0.99928975105285645
+ },
+ {
+ "name": "building",
+ "confidence": 0.99646323919296265
+ },
+ {
+ "name": "house",
+ "confidence": 0.99279803037643433
+ },
+ {
+ "name": "lawn",
+ "confidence": 0.82268029451370239
+ },
+ {
+ "name": "green",
+ "confidence": 0.64122253656387329
+ },
+ {
+ "name": "residential",
+ "confidence": 0.31403225660324097
+ }
+ ],
+ "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337",
+ "metadata": {
+ "width": 400,
+ "height": 400,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json
new file mode 100644
index 000000000000..0dcf0304a33a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ImageUrl": {
+ "url": "{url}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": [
+ {
+ "name": "grass",
+ "confidence": 0.9999997615814209
+ },
+ {
+ "name": "outdoor",
+ "confidence": 0.99997067451477051
+ },
+ {
+ "name": "sky",
+ "confidence": 0.99928975105285645
+ },
+ {
+ "name": "building",
+ "confidence": 0.99646323919296265
+ },
+ {
+ "name": "house",
+ "confidence": 0.99279803037643433
+ },
+ {
+ "name": "lawn",
+ "confidence": 0.82268029451370239
+ },
+ {
+ "name": "green",
+ "confidence": 0.64122253656387329
+ },
+ {
+ "name": "residential",
+ "confidence": 0.31403225660324097
+ }
+ ],
+ "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337",
+ "metadata": {
+ "width": 400,
+ "height": 400,
+ "format": "Jpeg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json
new file mode 100644
index 000000000000..a7e681725a7d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json
@@ -0,0 +1,5759 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.4-preview",
+ "title": "Custom Vision Training Client"
+ },
+ "host": "southcentralus.api.cognitive.microsoft.com",
+ "basePath": "/customvision/v3.4-preview/training",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/domains": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get a list of the available domains.",
+ "operationId": "GetDomains",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomains request": {
+ "$ref": "./examples/GetDomains.json"
+ }
+ }
+ }
+ },
+ "/domains/{domainId}": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get information about a specific domain.",
+ "operationId": "GetDomain",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "domainId",
+ "in": "path",
+ "description": "The id of the domain to get information about.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomain request": {
+ "$ref": "./examples/GetDomain.json"
+ }
+ }
+ }
+ },
+ "/projects": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get your projects.",
+ "operationId": "GetProjects",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProjects request": {
+ "$ref": "./examples/GetProjects.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Create a project.",
+ "operationId": "CreateProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Name of the project.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The description of the project.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "domainId",
+ "in": "query",
+ "description": "The id of the domain to use for this project. Defaults to General.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "classificationType",
+ "in": "query",
+ "description": "The type of classifier to create for this project.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ]
+ },
+ {
+ "name": "targetExportPlatforms",
+ "in": "query",
+ "description": "List of platforms the trained model is intending exporting to.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ]
+ },
+ "collectionFormat": "csv"
+ },
+ {
+ "name": "options",
+ "in": "body",
+ "description": "Additional project creation options.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/CreateProjectOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateProject request": {
+ "$ref": "./examples/CreateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific project.",
+ "operationId": "GetProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProject request": {
+ "$ref": "./examples/GetProject.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific project.",
+ "operationId": "DeleteProject",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteProject request": {
+ "$ref": "./examples/DeleteProject.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific project.",
+ "operationId": "UpdateProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to update.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedProject",
+ "in": "body",
+ "description": "The updated project model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateProject request": {
+ "$ref": "./examples/UpdateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/artifacts": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get artifact content from blob storage, based on artifact relative path in the blob.",
+ "operationId": "GetArtifact",
+ "consumes": [],
+ "produces": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "path",
+ "in": "query",
+ "description": "The relative path for artifact.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetArtifact request": {
+ "$ref": "./examples/GetArtifact.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/export": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Exports a project.",
+ "operationId": "ExportProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id of the project to export.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProjectExport"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportProject request": {
+ "$ref": "./examples/ExportProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get images for a given project iteration or workspace.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "taggingStatus",
+ "in": "query",
+ "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Tagged",
+ "Untagged"
+ ]
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImages request": {
+ "$ref": "./examples/GetImages.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images to the set of training images.",
+ "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.",
+ "operationId": "CreateImagesFromData",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "The tags ids with which to tag each image. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromData request": {
+ "$ref": "./examples/CreateImagesFromData.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete images from the set of training images.",
+ "operationId": "DeleteImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Ids of the images to be deleted. Limited to 256 images per batch.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "allImages",
+ "in": "query",
+ "description": "Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "allIterations",
+ "in": "query",
+ "description": "Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImages request": {
+ "$ref": "./examples/DeleteImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/{imageId}/regionproposals": {
+ "post": {
+ "tags": [
+ "ImageRegionProposalApi"
+ ],
+ "summary": "Get region proposals for an image. Returns empty array if no proposals are found.",
+ "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.",
+ "operationId": "GetImageRegionProposals",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The image id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionProposal"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImageRegionProposals request": {
+ "$ref": "./examples/GetImageRegionProposals.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get the number of images.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "taggingStatus",
+ "in": "query",
+ "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Tagged",
+ "Untagged"
+ ]
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImageCount request": {
+ "$ref": "./examples/GetImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/files": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided batch of images to the set of training images.",
+ "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.",
+ "operationId": "CreateImagesFromFiles",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageFileCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromFiles request": {
+ "$ref": "./examples/CreateImagesFromFiles.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/id": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get images by id for a given project iteration.",
+ "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetImagesByIds",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "The list of image ids to retrieve. Limited to 256.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagesByIds request": {
+ "$ref": "./examples/GetImagesByIds.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/metadata": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Update metadata of images.",
+ "description": "This API accepts a batch of image Ids, and metadata, to update images. There is a limit of 64 images.",
+ "operationId": "UpdateImageMetadata",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "The list of image ids to update. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "metadata",
+ "in": "body",
+ "description": "The metadata to be updated to the specified images. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageMetadataUpdateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageMetadataUpdateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateImageMetadata request": {
+ "$ref": "./examples/UpdateImageMetadata.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/predictions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the specified predicted images to the set of training images.",
+ "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.",
+ "operationId": "CreateImagesFromPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image, tag ids, and metadata. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageIdCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromPredictions request": {
+ "$ref": "./examples/CreateImagesFromPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/regions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Create a set of image regions.",
+ "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.\r\nIf all regions are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each region will be listed in the response payload.",
+ "operationId": "CreateImageRegions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image regions which include a tag and bounding box. Limited to 64.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageRegions request": {
+ "$ref": "./examples/CreateImageRegions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete a set of image regions.",
+ "operationId": "DeleteImageRegions",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "regionIds",
+ "in": "query",
+ "description": "Regions to delete. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageRegions request": {
+ "$ref": "./examples/DeleteImageRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.",
+ "description": "This API will fetch untagged images filtered by suggested tags Ids. It returns an empty array if no images are found.",
+ "operationId": "QuerySuggestedImages",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Contains properties we need to query suggested images.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQuery"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImages request": {
+ "$ref": "./examples/QuerySuggestedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested/count": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get count of images whose suggested tags match given tags and their probabilities are greater than or equal to the given threshold. Returns count as 0 if none found.",
+ "description": "This API takes in tagIds to get count of untagged images per suggested tags for a given threshold.",
+ "operationId": "QuerySuggestedImageCount",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Model that contains tagIds, threshold and projectType to query by.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagFilter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImageCount request": {
+ "$ref": "./examples/QuerySuggestedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get tagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImages request": {
+ "$ref": "./examples/GetTaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImageCount request": {
+ "$ref": "./examples/GetTaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tags": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Associate a set of images with a set of tags.",
+ "operationId": "CreateImageTags",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image tags. Limited to 128 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageTags request": {
+ "$ref": "./examples/CreateImageTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Remove a set of tags from a set of images.",
+ "operationId": "DeleteImageTags",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Image ids. Limited to 64 images.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "Tags to be deleted from the specified images. Limited to 20 tags.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageTags request": {
+ "$ref": "./examples/DeleteImageTags.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.",
+ "operationId": "GetUntaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImages request": {
+ "$ref": "./examples/GetUntaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of untagged images.",
+ "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetUntaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImageCount request": {
+ "$ref": "./examples/GetUntaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/urls": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images urls to the set of training images.",
+ "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.",
+ "operationId": "CreateImagesFromUrls",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image urls, tag ids, and metadata. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrlCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "207": {
+ "description": "207",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromUrls request": {
+ "$ref": "./examples/CreateImagesFromUrls.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get iterations for the project.",
+ "operationId": "GetIterations",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterations request": {
+ "$ref": "./examples/GetIterations.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific iteration.",
+ "operationId": "GetIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIteration request": {
+ "$ref": "./examples/GetIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific iteration of a project.",
+ "operationId": "DeleteIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteIteration request": {
+ "$ref": "./examples/DeleteIteration.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific iteration.",
+ "operationId": "UpdateIteration",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "Project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "Iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedIteration",
+ "in": "body",
+ "description": "The updated iteration model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateIteration request": {
+ "$ref": "./examples/UpdateIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/export": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get the list of exports for a specific iteration.",
+ "operationId": "GetExports",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetExports request": {
+ "$ref": "./examples/GetExports.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Export a trained iteration.",
+ "operationId": "ExportIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "platform",
+ "in": "query",
+ "description": "The target platform.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ]
+ },
+ {
+ "name": "flavor",
+ "in": "query",
+ "description": "The flavor of the target platform.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportIteration request": {
+ "$ref": "./examples/ExportIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get detailed performance information about an iteration.",
+ "operationId": "GetIterationPerformance",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "description": "The threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "name": "overlapThreshold",
+ "in": "query",
+ "description": "If applicable, the bounding box overlap threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IterationPerformance"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterationPerformance request": {
+ "$ref": "./examples/GetIterationPerformance.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get image with its prediction for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformances",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImagePerformance"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformances request": {
+ "$ref": "./examples/GetImagePerformances.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images/count": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformanceCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformanceCount request": {
+ "$ref": "./examples/GetImagePerformanceCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/publish": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Publish a specific iteration.",
+ "operationId": "PublishIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "publishName",
+ "in": "query",
+ "description": "The name to give the published iteration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "predictionId",
+ "in": "query",
+ "description": "The id of the prediction resource to publish to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "overwrite",
+ "in": "query",
+ "description": "Whether to overwrite the published model with the given name (default: false).",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful PublishIteration request": {
+ "$ref": "./examples/PublishIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Unpublish a specific iteration.",
+ "operationId": "UnpublishIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UnpublishIteration request": {
+ "$ref": "./examples/UnpublishIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions": {
+ "delete": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Delete a set of predicted images and their associated prediction results.",
+ "operationId": "DeletePrediction",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "ids",
+ "in": "query",
+ "description": "The prediction ids. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeletePrediction request": {
+ "$ref": "./examples/DeletePrediction.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions/query": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Get images that were sent to your prediction endpoint.",
+ "operationId": "QueryPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Parameters used to query the predictions. Limited to combining 2 tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryToken"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QueryPredictions request": {
+ "$ref": "./examples/QueryPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/image": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image.",
+ "operationId": "QuickTestImage",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImage request": {
+ "$ref": "./examples/QuickTestImage.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/url": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image url.",
+ "operationId": "QuickTestImageUrl",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project to evaluate against.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageUrl",
+ "in": "body",
+ "description": "An ImageUrl that contains the url of the image to be evaluated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImageUrl request": {
+ "$ref": "./examples/QuickTestImageUrl.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get the tags for a given project and iteration.",
+ "operationId": "GetTags",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTags request": {
+ "$ref": "./examples/GetTags.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Create a tag for the project.",
+ "operationId": "CreateTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The tag name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "Optional description for the tag.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Optional type for the tag.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Negative",
+ "GeneralProduct"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateTag request": {
+ "$ref": "./examples/CreateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags/{tagId}": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get information about a specific tag.",
+ "operationId": "GetTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project this tag belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The tag id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTag request": {
+ "$ref": "./examples/GetTag.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Delete a tag from the project.",
+ "operationId": "DeleteTag",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "Id of the tag to be deleted.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteTag request": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Update a tag.",
+ "operationId": "UpdateTag",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The id of the target tag.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedTag",
+ "in": "body",
+ "description": "The updated tag model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateTag request": {
+ "$ref": "./examples/UpdateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tagsandregions/suggestions": {
+ "post": {
+ "tags": [
+ "SuggestTagsAndRegionsApi"
+ ],
+ "summary": "Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.",
+ "description": "This API will get suggested tags and regions for an array/batch of untagged images along with confidences for the tags. It returns an empty array if no tags are found.\r\nThere is a limit of 64 images in the batch.",
+ "operationId": "SuggestTagsAndRegions",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for tag and region suggestion.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SuggestedTagAndRegion"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful SuggestTagsAndRegions request": {
+ "$ref": "./examples/SuggestTagsAndRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/train": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Queues project for training.",
+ "operationId": "TrainProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "trainingType",
+ "in": "query",
+ "description": "The type of training to use to train the project (default: Regular).",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ]
+ },
+ {
+ "name": "reservedBudgetInHours",
+ "in": "query",
+ "description": "The number of hours reserved as budget for training (if applicable).",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "name": "forceTrain",
+ "in": "query",
+ "description": "Whether to force train even if dataset and configuration does not change (default: false).",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "notificationEmailAddress",
+ "in": "query",
+ "description": "The email address to send notification to when training finishes (default: null).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "trainingParameters",
+ "in": "body",
+ "description": "Additional training parameters passed in to control how the project is trained.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/TrainingParameters"
+ },
+ "x-nullable": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TrainProject request": {
+ "$ref": "./examples/TrainProject.json"
+ }
+ }
+ }
+ },
+ "/projects/import": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Imports a project.",
+ "operationId": "ImportProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Token generated from the export project call.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Optional, name of the project to use instead of auto-generated name.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ImportProject request": {
+ "$ref": "./examples/ImportProject.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BoundingBox": {
+ "description": "Bounding box that defines a region of an image.",
+ "required": [
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "CreateProjectOptions": {
+ "description": "Options used for createProject.",
+ "type": "object",
+ "properties": {
+ "exportModelContainerUri": {
+ "description": "The uri to the Azure Storage container that will be used to store exported models.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "notificationQueueUri": {
+ "description": "The uri to the Azure Storage queue that will be used to send project-related notifications. See Storage notifications documentation for setup and message format.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "CustomBaseModelInfo": {
+ "required": [
+ "projectId",
+ "iterationId"
+ ],
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "format": "uuid",
+ "description": "Project Id of the previously trained project to be used for current iteration's training.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "iterationId": {
+ "format": "uuid",
+ "description": "Iteration Id of the previously trained project to be used for current iteration's training.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "CustomVisionError": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "NoError",
+ "BadRequest",
+ "BadRequestExceededBatchSize",
+ "BadRequestNotSupported",
+ "BadRequestInvalidIds",
+ "BadRequestProjectName",
+ "BadRequestProjectNameNotUnique",
+ "BadRequestProjectDescription",
+ "BadRequestProjectUnknownDomain",
+ "BadRequestProjectUnknownClassification",
+ "BadRequestProjectUnsupportedDomainTypeChange",
+ "BadRequestProjectUnsupportedExportPlatform",
+ "BadRequestProjectImagePreprocessingSettings",
+ "BadRequestProjectDuplicated",
+ "BadRequestIterationName",
+ "BadRequestIterationNameNotUnique",
+ "BadRequestIterationDescription",
+ "BadRequestIterationIsNotTrained",
+ "BadRequestIterationValidationFailed",
+ "BadRequestWorkspaceCannotBeModified",
+ "BadRequestWorkspaceNotDeletable",
+ "BadRequestTagName",
+ "BadRequestTagNameNotUnique",
+ "BadRequestTagDescription",
+ "BadRequestTagType",
+ "BadRequestMultipleNegativeTag",
+ "BadRequestMultipleGeneralProductTag",
+ "BadRequestImageTags",
+ "BadRequestImageRegions",
+ "BadRequestNegativeAndRegularTagOnSameImage",
+ "BadRequestUnsupportedDomain",
+ "BadRequestRequiredParamIsNull",
+ "BadRequestIterationIsPublished",
+ "BadRequestInvalidPublishName",
+ "BadRequestInvalidPublishTarget",
+ "BadRequestUnpublishFailed",
+ "BadRequestIterationNotPublished",
+ "BadRequestSubscriptionApi",
+ "BadRequestExceedProjectLimit",
+ "BadRequestExceedIterationPerProjectLimit",
+ "BadRequestExceedTagPerProjectLimit",
+ "BadRequestExceedTagPerImageLimit",
+ "BadRequestExceededQuota",
+ "BadRequestCannotMigrateProjectWithName",
+ "BadRequestNotLimitedTrial",
+ "BadRequestImageBatch",
+ "BadRequestImageStream",
+ "BadRequestImageUrl",
+ "BadRequestImageFormat",
+ "BadRequestImageSizeBytes",
+ "BadRequestImageDimensions",
+ "BadRequestImageAspectRatio",
+ "BadRequestImageExceededCount",
+ "BadRequestTrainingNotNeeded",
+ "BadRequestTrainingNotNeededButTrainingPipelineUpdated",
+ "BadRequestTrainingValidationFailed",
+ "BadRequestClassificationTrainingValidationFailed",
+ "BadRequestMultiClassClassificationTrainingValidationFailed",
+ "BadRequestMultiLabelClassificationTrainingValidationFailed",
+ "BadRequestDetectionTrainingValidationFailed",
+ "BadRequestTrainingAlreadyInProgress",
+ "BadRequestDetectionTrainingNotAllowNegativeTag",
+ "BadRequestInvalidEmailAddress",
+ "BadRequestRetiredDomainNotSupportedForTraining",
+ "BadRequestDomainNotSupportedForAdvancedTraining",
+ "BadRequestExportPlatformNotSupportedForAdvancedTraining",
+ "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining",
+ "BadRequestCustomBaseModelIterationStatusNotCompleted",
+ "BadRequestCustomBaseModelDomainNotCompatible",
+ "BadRequestCustomBaseModelArchitectureRetired",
+ "BadRequestExportValidationFailed",
+ "BadRequestExportAlreadyInProgress",
+ "BadRequestPredictionIdsMissing",
+ "BadRequestPredictionIdsExceededCount",
+ "BadRequestPredictionTagsExceededCount",
+ "BadRequestPredictionResultsExceededCount",
+ "BadRequestPredictionInvalidApplicationName",
+ "BadRequestPredictionInvalidQueryParameters",
+ "BadRequestInvalidImportToken",
+ "BadRequestExportWhileTraining",
+ "BadRequestImageMetadataKey",
+ "BadRequestImageMetadataValue",
+ "BadRequestOperationNotSupported",
+ "BadRequestInvalidArtifactUri",
+ "BadRequestCustomerManagedKeyRevoked",
+ "BadRequestInvalidUri",
+ "BadRequestInvalid",
+ "UnsupportedMediaType",
+ "Forbidden",
+ "ForbiddenUser",
+ "ForbiddenUserResource",
+ "ForbiddenUserSignupDisabled",
+ "ForbiddenUserSignupAllowanceExceeded",
+ "ForbiddenUserDoesNotExist",
+ "ForbiddenUserDisabled",
+ "ForbiddenUserInsufficientCapability",
+ "ForbiddenDRModeEnabled",
+ "ForbiddenInvalid",
+ "NotFound",
+ "NotFoundProject",
+ "NotFoundProjectDefaultIteration",
+ "NotFoundIteration",
+ "NotFoundIterationPerformance",
+ "NotFoundTag",
+ "NotFoundImage",
+ "NotFoundDomain",
+ "NotFoundApimSubscription",
+ "NotFoundInvalid",
+ "Conflict",
+ "ConflictInvalid",
+ "ErrorUnknown",
+ "ErrorIterationCopyFailed",
+ "ErrorPreparePerformanceMigrationFailed",
+ "ErrorProjectInvalidWorkspace",
+ "ErrorProjectInvalidPipelineConfiguration",
+ "ErrorProjectInvalidDomain",
+ "ErrorProjectTrainingRequestFailed",
+ "ErrorProjectImportRequestFailed",
+ "ErrorProjectExportRequestFailed",
+ "ErrorFeaturizationServiceUnavailable",
+ "ErrorFeaturizationQueueTimeout",
+ "ErrorFeaturizationInvalidFeaturizer",
+ "ErrorFeaturizationAugmentationUnavailable",
+ "ErrorFeaturizationUnrecognizedJob",
+ "ErrorFeaturizationAugmentationError",
+ "ErrorExporterInvalidPlatform",
+ "ErrorExporterInvalidFeaturizer",
+ "ErrorExporterInvalidClassifier",
+ "ErrorPredictionServiceUnavailable",
+ "ErrorPredictionModelNotFound",
+ "ErrorPredictionModelNotCached",
+ "ErrorPrediction",
+ "ErrorPredictionStorage",
+ "ErrorRegionProposal",
+ "ErrorUnknownBaseModel",
+ "ErrorServerTimeOut",
+ "ErrorInvalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ }
+ }
+ },
+ "Domain": {
+ "description": "Domains are used as the starting point for your project. Each domain is optimized for specific types of images. Domains with compact in their name can be exported. For more information visit the domain documentation .",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Domain id.",
+ "type": "string",
+ "readOnly": true,
+ "example": "00000000-0000-0000-0000-000000000000",
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Name of the domain, describing the types of images used to train it.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "type": {
+ "description": "Domain type: Classification or ObjectDetection.",
+ "enum": [
+ "Classification",
+ "ObjectDetection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "DomainType",
+ "modelAsString": true
+ }
+ },
+ "exportable": {
+ "description": "Indicating if the domain is exportable.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "enabled": {
+ "description": "Indicating if the domain is enabled.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportablePlatforms": {
+ "description": "Platforms that the domain can be exported to.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "modelInformation": {
+ "$ref": "#/definitions/ModelInformation",
+ "description": "Model information.",
+ "readOnly": true
+ }
+ }
+ },
+ "Export": {
+ "type": "object",
+ "properties": {
+ "platform": {
+ "description": "Platform of the export.",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportPlatform",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the export.",
+ "enum": [
+ "Exporting",
+ "Failed",
+ "Done"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportStatus",
+ "modelAsString": true
+ }
+ },
+ "downloadUri": {
+ "description": "URI used to download the model. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "flavor": {
+ "description": "Flavor of the export. These are specializations of the export platform.\r\nDocker platform has valid flavors: Linux, Windows, ARM.\r\nTensorflow platform has valid flavors: TensorFlowNormal, TensorFlowLite.\r\nONNX platform has valid flavors: ONNX10, ONNX12.",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "ExportFlavor",
+ "modelAsString": true
+ }
+ },
+ "newerVersionAvailable": {
+ "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "Image": {
+ "description": "Image model to be sent as JSON.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": true,
+ "example": "00000000-0000-0000-0000-000000000000",
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date the image was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "description": "Width of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) image used for training. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original uploaded image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "description": "Regions associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "metadata": {
+ "description": "Metadata associated with this image.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageCreateResult": {
+ "type": "object",
+ "properties": {
+ "sourceUrl": {
+ "description": "Source URL of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the image creation.",
+ "enum": [
+ "OK",
+ "OKDuplicate",
+ "ErrorSource",
+ "ErrorImageFormat",
+ "ErrorImageSize",
+ "ErrorStorage",
+ "ErrorLimitExceed",
+ "ErrorTagLimitExceed",
+ "ErrorRegionLimitExceed",
+ "ErrorUnknown",
+ "ErrorNegativeAndRegularTagOnSameImage",
+ "ErrorImageDimensions",
+ "ErrorInvalidTag"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ImageCreateStatus",
+ "modelAsString": true
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/Image",
+ "description": "The image.",
+ "readOnly": true
+ }
+ }
+ },
+ "ImageCreateSummary": {
+ "type": "object",
+ "properties": {
+ "isBatchSuccessful": {
+ "description": "True if all of the images in the batch were created successfully, otherwise false.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "images": {
+ "description": "List of the image creation results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageCreateResult",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageFileCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFileCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "example": "00000000-0000-0000-0000-000000000000",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "metadata": {
+ "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageFileCreateEntry": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "contents": {
+ "format": "byte",
+ "type": "string",
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "example": "00000000-0000-0000-0000-000000000000",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageIdCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageIdCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "metadata": {
+ "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageIdCreateEntry": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageMetadataUpdateEntry": {
+ "description": "Entry associating a metadata to an image.",
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the metadata update.",
+ "enum": [
+ "OK",
+ "ErrorImageNotFound",
+ "ErrorLimitExceed",
+ "ErrorUnknown"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ImageMetadataUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "metadata": {
+ "description": "Metadata of the image.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageMetadataUpdateSummary": {
+ "type": "object",
+ "properties": {
+ "isBatchSuccessful": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageMetadataUpdateEntry",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImagePerformance": {
+ "description": "Image performance model.",
+ "type": "object",
+ "properties": {
+ "predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date the image was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "description": "Width of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageUri": {
+ "description": "The URI to the image used for training. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "description": "Regions associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageProcessingSettings": {
+ "description": "Represents image preprocessing settings used by image augmentation.",
+ "type": "object",
+ "properties": {
+ "augmentationMethods": {
+ "description": "Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.\r\nAugmentation will be uniformly distributed among enabled transforms.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegion": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateBatch": {
+ "description": "Batch of image region information to create.",
+ "type": "object",
+ "properties": {
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageRegionCreateEntry": {
+ "description": "Entry associating a region to an image.",
+ "required": [
+ "imageId",
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateResult": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateResult"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegionProposal": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "proposals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionProposal",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageTag": {
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateBatch": {
+ "description": "Batch of image tags.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Image Tag entries to include in this batch.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageTagCreateEntry": {
+ "description": "Entry associating a tag to an image.",
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageUrl": {
+ "description": "Image url.",
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageUrlCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageUrlCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "metadata": {
+ "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageUrlCreateEntry": {
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "Iteration": {
+ "description": "Iteration model to be sent over JSON.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the iteration.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Gets the current iteration status.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was completed.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainedAt": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "projectId": {
+ "format": "uuid",
+ "description": "Gets the project id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportable": {
+ "description": "Whether the iteration can be exported to another format for download.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportableTo": {
+ "description": "A set of platforms this iteration can export to.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "domainId": {
+ "format": "uuid",
+ "description": "Get or sets a guid of the domain the iteration has been trained on.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "classificationType": {
+ "description": "Gets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "trainingType": {
+ "description": "Gets the training type of the iteration.",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TrainingType",
+ "modelAsString": true
+ }
+ },
+ "reservedBudgetInHours": {
+ "format": "int32",
+ "description": "Gets the reserved advanced training budget for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainingTimeInMinutes": {
+ "format": "int32",
+ "description": "Gets the training time for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "publishName": {
+ "description": "Name of the published model.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "originalPublishResourceId": {
+ "description": "Resource Provider Id this iteration was originally published to.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "customBaseModelInfo": {
+ "$ref": "#/definitions/CustomBaseModelInfo",
+ "description": "Information of the previously trained iteration which provides the base model for current iteration's training.\r\nDefault value of null specifies that no previously trained iteration will be used for incremental learning.",
+ "readOnly": true
+ },
+ "trainingErrorDetails": {
+ "description": "Training error details, when training fails.\r\nValue is null when training succeeds.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IterationPerformance": {
+ "description": "Represents the detailed performance data for a trained iteration.",
+ "type": "object",
+ "properties": {
+ "perTagPerformance": {
+ "description": "Gets the per-tag performance details for this iteration.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagPerformance",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ModelInformation": {
+ "description": "Model information.",
+ "required": [
+ "description"
+ ],
+ "type": "object",
+ "properties": {
+ "estimatedModelSizeInMegabytes": {
+ "format": "int32",
+ "description": "Estimation of the exported FP32 Onnx model size (2 tags) in megabytes. This information is not present if the model cannot be exported.",
+ "type": "integer",
+ "readOnly": false
+ },
+ "description": {
+ "description": "Model description.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "Prediction": {
+ "description": "Prediction result.",
+ "type": "object",
+ "properties": {
+ "probability": {
+ "format": "float",
+ "description": "Probability of the tag.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "description": "Name of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "description": "Bounding box of the prediction.",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "tagType": {
+ "description": "Type of the predicted tag.",
+ "enum": [
+ "Regular",
+ "Negative",
+ "GeneralProduct"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "TagType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PredictionQueryResult": {
+ "description": "Query result of the prediction images that were sent to your prediction endpoint.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/PredictionQueryToken",
+ "description": "Prediction Query Token.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of an image prediction request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredImagePrediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PredictionQueryTag": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "minThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "PredictionQueryToken": {
+ "type": "object",
+ "properties": {
+ "session": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "orderBy": {
+ "enum": [
+ "Newest",
+ "Oldest",
+ "Suggested"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "OrderBy",
+ "modelAsString": true
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionQueryTag",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "iterationId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "application": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "Project": {
+ "description": "Represents a project.",
+ "required": [
+ "name",
+ "description",
+ "settings"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the project id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings",
+ "description": "Gets or sets the project settings.",
+ "readOnly": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the date this project was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the date this project was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "thumbnailUri": {
+ "description": "Gets the thumbnail url representing the image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "drModeEnabled": {
+ "description": "Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "status": {
+ "description": "Gets the status of the project.",
+ "enum": [
+ "Succeeded",
+ "Importing",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ProjectStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProjectExport": {
+ "description": "Represents information about a project export.",
+ "type": "object",
+ "properties": {
+ "iterationCount": {
+ "format": "int32",
+ "description": "Count of iterations that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageCount": {
+ "format": "int32",
+ "description": "Count of images that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagCount": {
+ "format": "int32",
+ "description": "Count of tags that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "regionCount": {
+ "format": "int32",
+ "description": "Count of regions that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "estimatedImportTimeInMS": {
+ "format": "int32",
+ "description": "Estimated time this project will take to import, can change based on network connectivity and load between\r\nsource and destination regions.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "token": {
+ "description": "Opaque token that should be passed to ImportProject to perform the import. This token grants access to import this\r\nproject to all that have the token.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "ProjectSettings": {
+ "description": "Represents settings associated with a project.",
+ "type": "object",
+ "properties": {
+ "domainId": {
+ "format": "uuid",
+ "description": "Gets or sets the id of the Domain to use with this project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "classificationType": {
+ "description": "Gets or sets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "targetExportPlatforms": {
+ "description": "A list of ExportPlatform that the trained model should be able to support.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK",
+ "OpenVino"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "useNegativeSet": {
+ "description": "Indicates if negative set is being used.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "detectionParameters": {
+ "description": "Detection parameters in use, if any.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageProcessingSettings": {
+ "$ref": "#/definitions/ImageProcessingSettings",
+ "description": "Gets or sets image preprocessing settings.",
+ "readOnly": false
+ },
+ "exportModelContainerUri": {
+ "description": "The uri to the Azure Storage container that will be used to store exported models.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "notificationQueueUri": {
+ "description": "The uri to the Azure Storage queue that will be used to send project-related notifications. See Storage notifications documentation for setup and message format.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "Region": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "RegionProposal": {
+ "type": "object",
+ "properties": {
+ "confidence": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "readOnly": true
+ }
+ }
+ },
+ "StoredImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StoredSuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "object",
+ "properties": {
+ "width": {
+ "format": "int32",
+ "description": "Width of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegionQuery": {
+ "description": "The array of result images and token containing session and continuation Ids for the next query.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken",
+ "description": "Contains properties we need to fetch suggested tags for.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredSuggestedTagAndRegion",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SuggestedTagAndRegionQueryToken": {
+ "description": "Contains properties we need to fetch suggested tags for. For the first call, Session and continuation set to null.\r\nThen on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery result to fetch additional results.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to filter suggested tags on.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "session": {
+ "description": "SessionId for database query. Initially set to null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "description": "Continuation Id for database pagination. Initially null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "description": "Maximum number of results you want to be returned in the response.",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "sortBy": {
+ "description": "OrderBy. Ordering mechanism for your results.",
+ "enum": [
+ "UncertaintyAscending",
+ "UncertaintyDescending"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "SortBy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Tag": {
+ "description": "Represents a Tag.",
+ "required": [
+ "name",
+ "description",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the Tag ID.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the tag.",
+ "enum": [
+ "Regular",
+ "Negative",
+ "GeneralProduct"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TagType",
+ "modelAsString": true
+ }
+ },
+ "imageCount": {
+ "format": "int32",
+ "description": "Gets the number of images with this tag.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagFilter": {
+ "description": "Model that query for counting of images whose suggested tags match given tags and their probability are greater than or equal to the given threshold.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to get suggested tags count for.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagPerformance": {
+ "description": "Represents performance data for a particular tag in a trained iteration.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "TrainingParameters": {
+ "description": "Parameters used for training.",
+ "type": "object",
+ "properties": {
+ "selectedTags": {
+ "description": "List of tags selected for this training session, other tags in the project will be ignored.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "customBaseModelInfo": {
+ "$ref": "#/definitions/CustomBaseModelInfo",
+ "description": "Information of the previously trained iteration which provides the base model for current iteration's training.",
+ "readOnly": false
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoints.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Training-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json
new file mode 100644
index 000000000000..9f554c49071c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "regions": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ },
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.35,
+ "top": 0.35,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ },
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.35,
+ "top": 0.35,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ],
+ "duplicated": [],
+ "exceeded": []
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "created": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ],
+ "duplicated": [],
+ "exceeded": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.35,
+ "top": 0.35,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json
new file mode 100644
index 000000000000..5b7395424693
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "tags": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ],
+ "duplicated": null,
+ "exceeded": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json
new file mode 100644
index 000000000000..05b0b07590b5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ],
+ "imageData": "multipart data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "\"hemlock_6.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "f1855a92-b873-47e7-b513-f07a667ceda1",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 900,
+ "height": 1531,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": false,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "\"hemlock_6.jpg\"",
+ "status": "ErrorLimitExceed"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json
new file mode 100644
index 000000000000..6853f6ab1401
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "name": "hemlock_10.jpg",
+ "contents": "{image contents}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": false,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "{url}",
+ "status": "ErrorLimitExceed"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json
new file mode 100644
index 000000000000..1970c61d0d39
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": false,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "{url}",
+ "status": "ErrorLimitExceed"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json
new file mode 100644
index 000000000000..a3ecd489a1f7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "url": "{url to image}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "{url to image}",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag name"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": false,
+ "images": [
+ {
+ "sourceUrl": "{url to image}",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag name"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "{url to image}",
+ "status": "ErrorSource",
+ "image": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json
new file mode 100644
index 000000000000..88f852ced738
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "name": "My New Project",
+ "description": "A test project",
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json
new file mode 100644
index 000000000000..ed19817462ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "body": ""
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json
new file mode 100644
index 000000000000..8931d4e2629e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "regionIds": [
+ ""
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json
new file mode 100644
index 000000000000..d6a188454e9b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ],
+ "tagIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json
new file mode 100644
index 000000000000..ccc479209fd2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json
new file mode 100644
index 000000000000..c6b2d5c0bc58
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "ids": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json
new file mode 100644
index 000000000000..2b4cb5723a6a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json
new file mode 100644
index 000000000000..e9f802505a09
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json
new file mode 100644
index 000000000000..1bbfa05a5d86
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "platform": "TensorFlow"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "platform": "TensorFlow",
+ "status": "Exporting",
+ "downloadUri": "",
+ "newerVersionAvailable": false
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json
new file mode 100644
index 000000000000..8d59acb577d1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "token": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json
new file mode 100644
index 000000000000..e48a4cf6fd86
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "path": "i-40b66b39b86b4583be8c0fe223aa9ec5/t-5c882c62ca2b4458b39a2041b111dd73"
+ },
+ "responses": {
+ "200": {
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json
new file mode 100644
index 000000000000..c6702b3a8f29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json
new file mode 100644
index 000000000000..a10887726fcb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "name": "General",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "name": "Food",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "ca455789-012d-4b50-9fec-5bb63841c793",
+ "name": "Landmarks",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "45badf75-3591-4f26-a705-45678d3e9f5f",
+ "name": "Adult",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "0732100f-1a38-4e49-a514-c9b44c697ab5",
+ "name": "General (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894",
+ "name": "Landmarks (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f",
+ "name": "Retail (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json
new file mode 100644
index 000000000000..1267168dbb4c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "platform": "TensorFlow",
+ "status": "Done",
+ "newerVersionAvailable": false,
+ "downloadUri": "{Download URI}"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json
new file mode 100644
index 000000000000..ee6e4980eefa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": 12
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json
new file mode 100644
index 000000000000..c57ffd50669b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "1"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json
new file mode 100644
index 000000000000..dfe6eb5a7208
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "tagIds": [
+ ""
+ ],
+ "orderBy": "Newest"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ],
+ "width": 600,
+ "height": 1600,
+ "imageUri": "",
+ "thumbnailUri": "",
+ "tags": [],
+ "regions": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json
new file mode 100644
index 000000000000..7638215aae62
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "proposals": [
+ {
+ "confidence": 0.25,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json
new file mode 100644
index 000000000000..d02bd9b585ef
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ },
+ {
+ "id": "f1855a92-b873-47e7-b513-f07a667ceda1",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 900,
+ "height": 1531,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json
new file mode 100644
index 000000000000..2383a6c6f910
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json
new file mode 100644
index 000000000000..323173c03a51
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "threshold": 0.9
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "perTagPerformance": [
+ {
+ "id": "e31ff107-5505-4753-be42-b369b21b026c",
+ "name": "Hemlock",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ },
+ {
+ "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "name": "Japanese Cherry",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ ],
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json
new file mode 100644
index 000000000000..ac0c78134a80
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "name": "Iteration 1",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:29Z",
+ "lastModified": "2017-12-18T22:40:41Z",
+ "trainedAt": "2017-12-18T22:40:41Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ },
+ {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 5,
+ "publishName": "model1"
+ },
+ {
+ "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5",
+ "name": "Iteration 3",
+ "status": "New",
+ "created": "2017-12-19T15:46:59Z",
+ "lastModified": "2017-12-19T15:46:59Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json
new file mode 100644
index 000000000000..4b68bf1ea390
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json
new file mode 100644
index 000000000000..b5166555936f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json
new file mode 100644
index 000000000000..4ad3135822ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json
new file mode 100644
index 000000000000..6ad8ea76c689
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json
new file mode 100644
index 000000000000..87702da27426
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "token": "token"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "Import Project",
+ "description": "",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2019-10-06T05:43:18Z",
+ "lastModified": "2019-10-06T05:43:18Z",
+ "thumbnailUri": "",
+ "status": "Importing"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json
new file mode 100644
index 000000000000..67d6ad03e29f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "publishName": "Model1",
+ "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": true
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json
new file mode 100644
index 000000000000..0bd19d6b7980
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "query": {
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "maxThreshold": 1,
+ "minThreshold": 0.9
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "minThreshold": 0.9,
+ "maxThreshold": 1.0
+ }
+ ],
+ "iterationId": null,
+ "startTime": null,
+ "endTime": null,
+ "application": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json
new file mode 100644
index 000000000000..bfe12dad0540
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544": 1
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json
new file mode 100644
index 000000000000..c42db2bc784f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "sortBy": "Newest",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json
new file mode 100644
index 000000000000..489852dc79df
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageData": "multipart-form-data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json
new file mode 100644
index 000000000000..dc904ef6f116
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageUrl": {
+ "url": "{Image URL}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json
new file mode 100644
index 000000000000..175a0a2a01e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "imageIds": [
+ "e7f08c23-9e54-49f7-b609-69a0240ba306",
+ "ce632666-4b66-4adb-aa0a-ad8b7c32df06"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "8497e814-23cc-47d7-b24b-691cef0bcec9",
+ "project": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iteration": "ce271ee4-cc13-460f-b66f-993f8005522d",
+ "created": "2019-07-08T13:43:18Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "predictionUncertainty": 0.32
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json
new file mode 100644
index 000000000000..dd3deca15afb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "trainingParameters": {}
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Training",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:46:58Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json
new file mode 100644
index 000000000000..54ac8a7a0725
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageIds": [
+ "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ ],
+ "metadata": {
+ "tag": "value"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "status": "OK",
+ "metadata": {
+ "tag": "value"
+ }
+ }
+ ]
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": false,
+ "images": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "status": "ErrorLimitExceed"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json
new file mode 100644
index 000000000000..a965deb8aa0f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "updatedIteration": {
+ "name": "Best Iteration"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Best Iteration",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:53:07Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json
new file mode 100644
index 000000000000..e19735364b5e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "updatedProject": {
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:19Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json
new file mode 100644
index 000000000000..51e0ee680aab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "updatedTag": {
+ "name": "Better Tag Name",
+ "type": "Regular",
+ "description": "Better description"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Better Tag Name",
+ "description": "Better description",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
index c61b06fde524..e772a9b2b5db 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
@@ -21,6 +21,7 @@ batch:
- tag: release_3_1
- tag: release_3_2
- tag: release_3_3
+ - tag: release_3_4_preview
```
### Tag: release_1_0 and go
@@ -84,4 +85,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_4_preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.4-preview/customvision/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
index 4941afe9c847..24c4d5e09848 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
@@ -4,11 +4,11 @@
Configuration for generating Custom Vision Training SDK.
-The current release is `release_3_3`.
+The current release is `release_3_4_preview`.
``` yaml
-tag: release_3_3
+tag: release_3_4_preview
openapi-type: data-plane
```
# Releases
@@ -64,6 +64,14 @@ input-file: stable/v3.3/Training.json
add-credentials: true
```
+### Release 3.4-preview
+These settings apply only when `--tag=release_3_4_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_4_preview'
+input-file: preview/v3.4-preview/Training.json
+add-credentials: true
+```
+
# Validation
## Suppression
@@ -172,6 +180,7 @@ input-file:
- $(this-folder)/stable/v3.1/Training.json
- $(this-folder)/stable/v3.2/Training.json
- $(this-folder)/stable/v3.3/Training.json
+ - $(this-folder)/preview/v3.4-preview/Training.json
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
index 517819d1250a..e4360fa9e63c 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
@@ -17,6 +17,7 @@ batch:
- tag: release_3_1
- tag: release_3_2
- tag: release_3_3
+ - tag: release_3_4_preview
```
### Tag: release_1_0 and ruby
@@ -73,3 +74,14 @@ namespace: "Azure::CognitiveServices::CustomVision::Training::V3_3"
output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib
title: "TrainingClient"
```
+
+### Tag: release_3_4_preview and ruby
+
+These settings apply only when `--tag=release_3_4_preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_4_preview' && $(ruby)
+namespace: "Azure::CognitiveServices::CustomVision::Training::V3_4_preview"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib
+title: "TrainingClient"
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json
new file mode 100644
index 000000000000..9c401eb68afe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json
@@ -0,0 +1,1967 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.1-preview.1",
+ "title": "Form Recognizer Client",
+ "description": "Extracts information from forms and images into structured data."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer/v2.1-preview.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/custom/models": {
+ "post": {
+ "summary": "Train Custom Model",
+ "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.",
+ "operationId": "TrainCustomModelAsync",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "trainRequest",
+ "in": "body",
+ "description": "Training request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrainRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Train custom model": {
+ "$ref": "./examples/TrainBatch.json"
+ },
+ "Train custom model with subfolder filter options": {
+ "$ref": "./examples/TrainBatchWithSubFolders.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}": {
+ "get": {
+ "summary": "Get Custom Model",
+ "description": "Get detailed information about a custom model.",
+ "operationId": "GetCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeKeys",
+ "in": "query",
+ "description": "Include list of extracted keys in model information.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get custom model": {
+ "$ref": "./examples/GetModel.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete Custom Model",
+ "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.",
+ "operationId": "DeleteCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period."
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete custom model": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/analyze": {
+ "post": {
+ "summary": "Analyze Form",
+ "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeWithCustomModel",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze form with custom model": {
+ "$ref": "./examples/AnalyzeBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Form Result",
+ "description": "Obtain current status and the result of the analyze form operation.",
+ "operationId": "GetAnalyzeFormResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze form result": {
+ "$ref": "./examples/AnalyzeOperationResult.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/copy": {
+ "post": {
+ "summary": "Copy Custom Model",
+ "description": "Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource.",
+ "operationId": "CopyCustomModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "copyRequest",
+ "in": "body",
+ "description": "Copy request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CopyRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Copy request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the copy operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModel.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/copyResults/{resultId}": {
+ "get": {
+ "summary": "Get Custom Model Copy Result",
+ "description": "Obtain current status and the result of a custom model copy operation.",
+ "operationId": "GetCustomModelCopyResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Copy operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CopyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get copy custom model result": {
+ "$ref": "./examples/CopyOperationResult.json"
+ },
+ "Get copy custom model result with failures": {
+ "$ref": "./examples/CopyOperationResultWithErrors.json"
+ }
+ }
+ }
+ },
+ "/custom/models/copyAuthorization": {
+ "post": {
+ "summary": "Generate Copy Authorization",
+ "description": "Generate authorization to copy a model into the target Form Recognizer resource.",
+ "operationId": "GenerateModelCopyAuthorization",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Copy request is authorized successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being copied. The status of model copy is specified in the status property at the model location."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModelAuthorization.json"
+ }
+ }
+ }
+ },
+ "/custom/models/compose": {
+ "post": {
+ "tags": [
+ "Form"
+ ],
+ "summary": "Compose trained with labels models into one composed model.",
+ "description": "Compose request would include list of models ids.\r\nIt would validate what all models either trained with labels model or composed model.\r\nIt would validate limit of models put together.",
+ "operationId": "ComposeCustomModelsAsync",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "composeRequest",
+ "in": "body",
+ "description": "Compose models",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComposeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the composed model. The status of composed model is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Compose custom models": {
+ "$ref": "./examples/ComposeModels.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/businessCard/analyze": {
+ "post": {
+ "summary": "Analyze Business Card",
+ "description": "Extract field text and semantic values from a given business card document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeBusinessCardAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "name": "locale",
+ "in": "query",
+ "description": "Locale of the business card. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze Business Card": {
+ "$ref": "./examples/BusinessCardBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/businessCard/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Business Card Result",
+ "description": "Track the progress and obtain the result of the analyze business card operation.",
+ "operationId": "GetAnalyzeBusinessCardResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze business card result": {
+ "$ref": "./examples/BusinessCardBatchResult.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/receipt/analyze": {
+ "post": {
+ "summary": "Analyze Receipt",
+ "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeReceiptAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "name": "locale",
+ "in": "query",
+ "description": "Locale of the receipt. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze receipt": {
+ "$ref": "./examples/ReceiptsBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/receipt/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Receipt Result",
+ "description": "Track the progress and obtain the result of the analyze receipt operation.",
+ "operationId": "GetAnalyzeReceiptResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze receipt result": {
+ "$ref": "./examples/ReceiptsBatchResult.json"
+ }
+ }
+ }
+ },
+ "/layout/analyze": {
+ "post": {
+ "summary": "Analyze Layout",
+ "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeLayoutAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze layout": {
+ "$ref": "./examples/LayoutBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/layout/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Layout Result",
+ "description": "Track the progress and obtain the result of the analyze layout operation",
+ "operationId": "GetAnalyzeLayoutResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze layout result": {
+ "$ref": "./examples/LayoutBatchResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/custom/models?op=full": {
+ "get": {
+ "summary": "List Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "ListCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "full"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "modelList"
+ },
+ "x-ms-examples": {
+ "List custom models": {
+ "$ref": "./examples/GetModels.json"
+ }
+ }
+ }
+ },
+ "/custom/models?op=summary": {
+ "get": {
+ "summary": "Get Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "GetCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get models summary": {
+ "$ref": "./examples/GetModelsSummary.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status of the queued operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "CopyAuthorizationResult": {
+ "description": "Request parameter that contains authorization claims for copy operation.",
+ "required": [
+ "modelId",
+ "accessToken",
+ "expirationDateTimeTicks"
+ ],
+ "type": "object",
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string"
+ },
+ "accessToken": {
+ "description": "Token claim used to authorize the request.",
+ "type": "string"
+ },
+ "expirationDateTimeTicks": {
+ "description": "The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "CopyRequest": {
+ "description": "Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID.",
+ "required": [
+ "targetResourceId",
+ "targetResourceRegion",
+ "copyAuthorization"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceId": {
+ "description": "Azure Resource Id of the target Form Recognizer resource where the model is copied to.",
+ "maxLength": 1024,
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$",
+ "x-ms-azure-resource": true
+ },
+ "targetResourceRegion": {
+ "description": "Location of the target Azure resource. A valid Azure region name supported by Cognitive Services.",
+ "type": "string",
+ "pattern": "^[a-z0-9]+$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ "copyAuthorization": {
+ "description": "Entity that encodes claims to authorize the copy request.",
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ }
+ },
+ "CopyOperationResult": {
+ "description": "Status and result of the queued copy operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the copy operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "copyResult": {
+ "description": "Results of the copy operation.",
+ "$ref": "#/definitions/CopyResult"
+ }
+ }
+ },
+ "CopyResult": {
+ "description": "Custom model copy result.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Identifier of the target model.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "errors": {
+ "description": "Errors returned during the copy operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "AnalyzeOperationResult": {
+ "description": "Status and result of the queued analyze operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the analyze operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Results of the analyze operation.",
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ },
+ "ModelName": {
+ "description": "Optional user defined model name (max length: 1024).",
+ "type": "string",
+ "x-nullable": false
+ },
+ "TrainRequest": {
+ "description": "Request parameter to train a new custom model.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source path containing the training documents.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "sourceFilter": {
+ "$ref": "#/definitions/TrainSourceFilter",
+ "description": "Filter to apply to the documents in the source path for training."
+ },
+ "useLabelFile": {
+ "description": "Use label file for training a model.",
+ "type": "boolean",
+ "default": false
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ }
+ }
+ },
+ "TrainSourceFilter": {
+ "description": "Filter to apply to the documents in the source path for training.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "includeSubFolders": {
+ "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TrainResult": {
+ "description": "Custom model training result.",
+ "type": "object",
+ "required": [
+ "trainingDocuments"
+ ],
+ "properties": {
+ "trainingDocuments": {
+ "description": "List of the documents used to train the model and any errors reported in each document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrainingDocumentInfo"
+ }
+ },
+ "fields": {
+ "description": "List of fields used to train the model and the train operation error reported by each.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FormFieldsReport"
+ }
+ },
+ "averageModelAccuracy": {
+ "description": "Average accuracy.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "Errors returned during the training operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "SourcePath": {
+ "description": "Uri or local path to source data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "File source path.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "Attributes": {
+ "description": "Optional model attributes.",
+ "type": "object",
+ "properties": {
+ "isComposed": {
+ "description": "Is this model composed? (default: false).",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ModelInfo": {
+ "description": "Basic custom model information.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the model.",
+ "enum": [
+ "creating",
+ "ready",
+ "invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ModelStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ },
+ "attributes": {
+ "$ref": "#/definitions/Attributes"
+ }
+ }
+ },
+ "Models": {
+ "description": "Response to the list custom models operation.",
+ "type": "object",
+ "properties": {
+ "summary": {
+ "description": "Summary of all trained custom models.",
+ "type": "object",
+ "required": [
+ "count",
+ "limit",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "count": {
+ "description": "Current count of trained custom models.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "limit": {
+ "description": "Max number of models that can be trained for this account.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the summary was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "modelList": {
+ "description": "Collection of trained custom models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of custom models.",
+ "type": "string"
+ }
+ }
+ },
+ "Model": {
+ "description": "Response to the get custom model operation.",
+ "type": "object",
+ "required": [
+ "modelInfo"
+ ],
+ "properties": {
+ "modelInfo": {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ "keys": {
+ "$ref": "#/definitions/KeysResult"
+ },
+ "trainResult": {
+ "description": "Training result for custom model.",
+ "$ref": "#/definitions/TrainResult"
+ },
+ "composedTrainResults": {
+ "type": "array",
+ "description": "Training result for composed model.",
+ "items": {
+ "$ref": "#/definitions/TrainResult"
+ }
+ }
+ }
+ },
+ "KeysResult": {
+ "description": "Keys extracted by the custom model.",
+ "type": "object",
+ "required": [
+ "clusters"
+ ],
+ "properties": {
+ "clusters": {
+ "description": "Object mapping clusterIds to a list of keys.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "TrainingDocumentInfo": {
+ "description": "Report for a custom model training document.",
+ "type": "object",
+ "required": [
+ "documentName",
+ "pages",
+ "errors",
+ "status"
+ ],
+ "properties": {
+ "documentName": {
+ "description": "Training document name.",
+ "type": "string"
+ },
+ "pages": {
+ "format": "int32",
+ "description": "Total number of pages trained.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "List of errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ },
+ "status": {
+ "description": "Status of the training operation.",
+ "enum": [
+ "succeeded",
+ "partiallySucceeded",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrainStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "FormFieldsReport": {
+ "description": "Report for a custom model training field.",
+ "type": "object",
+ "required": [
+ "fieldName",
+ "accuracy"
+ ],
+ "properties": {
+ "fieldName": {
+ "description": "Training field name.",
+ "type": "string"
+ },
+ "accuracy": {
+ "description": "Estimated extraction accuracy for this field.",
+ "type": "number",
+ "x-nullable": false
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ },
+ "ErrorInformation": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "ComposeRequest": {
+ "description": "Request contract for compose operation.",
+ "required": [
+ "modelIds"
+ ],
+ "type": "object",
+ "properties": {
+ "modelIds": {
+ "description": "List of model ids to compose.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ }
+ }
+ },
+ "AnalyzeResult": {
+ "description": "Analyze operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ },
+ "pageResults": {
+ "description": "Page-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PageResult"
+ }
+ },
+ "documentResults": {
+ "description": "Document-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentResult"
+ }
+ },
+ "errors": {
+ "description": "List of errors reported during the analyze operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "angle": {
+ "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].",
+ "type": "number",
+ "minimum": -180,
+ "maximum": 180,
+ "exclusiveMinimum": true,
+ "x-nullable": false
+ },
+ "width": {
+ "description": "The width of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "height": {
+ "description": "The height of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "unit": {
+ "description": "The unit used by the width, height and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "LengthUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "language": {
+ "description": "The detected language on the page overall.",
+ "$ref": "#/definitions/Language"
+ },
+ "lines": {
+ "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextLine"
+ }
+ },
+ "selectionMarks": {
+ "description": "List of selection marks extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SelectionMark"
+ }
+ }
+ }
+ },
+ "Language": {
+ "description": "Language code",
+ "type": "string",
+ "enum": [
+ "en",
+ "es"
+ ],
+ "x-ms-enum": {
+ "name": "Language",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "TextLine": {
+ "description": "An object representing an extracted text line.",
+ "type": "object",
+ "required": [
+ "text",
+ "boundingBox",
+ "words"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "language": {
+ "description": "The detected language of this line, if different from the overall page language.",
+ "$ref": "#/definitions/Language"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextWord"
+ }
+ }
+ }
+ },
+ "TextWord": {
+ "description": "An object representing a word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.",
+ "type": "array",
+ "minItems": 8,
+ "maxItems": 8,
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "PageResult": {
+ "description": "Extracted information from a single page.",
+ "type": "object",
+ "required": [
+ "page"
+ ],
+ "properties": {
+ "page": {
+ "description": "Page number.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "clusterId": {
+ "description": "Cluster identifier.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "keyValuePairs": {
+ "description": "List of key-value pairs extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ }
+ },
+ "tables": {
+ "description": "List of data tables extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTable"
+ }
+ }
+ }
+ },
+ "KeyValuePair": {
+ "description": "Information about the extracted key-value pair.",
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "confidence"
+ ],
+ "properties": {
+ "label": {
+ "description": "A user defined label for the key/value pair entry.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Information about the extracted key in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "value": {
+ "description": "Information about the extracted value in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "KeyValueElement": {
+ "description": "Information about the extracted key or value in a key-value pair.",
+ "type": "object",
+ "required": [
+ "text"
+ ],
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/KeyValueType"
+ },
+ "text": {
+ "description": "The text content of the key or value.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the key or value.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ }
+ }
+ },
+ "KeyValueType": {
+ "type": "string",
+ "description": "Semantic data type of the key value element.",
+ "enum": [
+ "string",
+ "selectionMark"
+ ],
+ "x-ms-enum": {
+ "name": "KeyValueType",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "ElementReference": {
+ "description": "Reference to a line, word or selection mark.",
+ "type": "string"
+ },
+ "SelectionMark": {
+ "description": "Information about the extracted selection mark.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "confidence",
+ "state"
+ ],
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of the selection mark.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "state": {
+ "description": "State of the selection mark.",
+ "type": "string",
+ "enum": [
+ "selected",
+ "unselected"
+ ]
+ }
+ }
+ },
+ "DataTable": {
+ "description": "Information about the extracted table contained in a page.",
+ "type": "object",
+ "required": [
+ "rows",
+ "columns",
+ "cells"
+ ],
+ "properties": {
+ "rows": {
+ "description": "Number of rows.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "columns": {
+ "description": "Number of columns.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "cells": {
+ "description": "List of cells contained in the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTableCell"
+ }
+ }
+ }
+ },
+ "DataTableCell": {
+ "description": "Information about the extracted cell in a table.",
+ "type": "object",
+ "required": [
+ "rowIndex",
+ "columnIndex",
+ "text",
+ "boundingBox",
+ "confidence"
+ ],
+ "properties": {
+ "rowIndex": {
+ "description": "Row index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "columnIndex": {
+ "description": "Column index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "rowSpan": {
+ "description": "Number of rows spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "columnSpan": {
+ "description": "Number of columns spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the cell.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the cell.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "isHeader": {
+ "description": "Is the current cell a header cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ },
+ "isFooter": {
+ "description": "Is the current cell a footer cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "DocumentResult": {
+ "description": "A set of extracted fields corresponding to the input document.",
+ "type": "object",
+ "required": [
+ "docType",
+ "pageRange",
+ "fields"
+ ],
+ "properties": {
+ "docType": {
+ "description": "Document type.",
+ "type": "string"
+ },
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "pageRange": {
+ "description": "First and last page number where the document is found.",
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ },
+ "docTypeConfidence": {
+ "description": "Predicted document type confidence.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "fields": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ }
+ }
+ },
+ "FieldValue": {
+ "description": "Recognized field value.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of field value.",
+ "$ref": "#/definitions/FieldValueType"
+ },
+ "valueString": {
+ "description": "String value.",
+ "type": "string"
+ },
+ "valueDate": {
+ "description": "Date value.",
+ "format": "date",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valueTime": {
+ "description": "Time value.",
+ "format": "time",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valuePhoneNumber": {
+ "description": "Phone number value.",
+ "type": "string"
+ },
+ "valueNumber": {
+ "description": "Floating point value.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "valueInteger": {
+ "description": "Integer value.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "valueArray": {
+ "description": "Array of field values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueObject": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueSelectionMark": {
+ "description": "Selection mark value.",
+ "type": "string",
+ "enum": [
+ "selected",
+ "unselected"
+ ],
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the extracted field.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the field value, if appropriate.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence score.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ }
+ },
+ "FieldValueType": {
+ "type": "string",
+ "description": "Semantic data type of the field value.",
+ "enum": [
+ "string",
+ "date",
+ "time",
+ "phoneNumber",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "selectionMark"
+ ],
+ "x-ms-enum": {
+ "name": "FieldValueType",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "Confidence": {
+ "description": "Confidence value.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1,
+ "x-nullable": false
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "FileStream": {
+ "name": "fileStream",
+ "description": ".json, .pdf, .jpg, .png or .tiff type file stream.",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SourcePath"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..01eb4730ed08
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..5b8a65ac0a6b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json
new file mode 100644
index 000000000000..6521a5fa2244
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "source": "http://www.example.com/image.jpg"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/businessCard/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json
new file mode 100644
index 000000000000..0fecac98f79b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "composeRequest": {
+ "modelIds": [
+ "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "6f841356-aa32-42c9-a739-2182c47b79c9"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json
new file mode 100644
index 000000000000..34d6aacb688e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {},
+ "copyRequest": {
+ "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}",
+ "targetResourceRegion": "westus2",
+ "copyAuthorization": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/copyResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json
new file mode 100644
index 000000000000..2acc95b1fce5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ },
+ "body": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json
new file mode 100644
index 000000000000..f7b7b1163884
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json
new file mode 100644
index 000000000000..853dd73e595e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "failed",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": [
+ {
+ "code": "ResourceResolverError",
+ "message": "{ErrorMessage}"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json
new file mode 100644
index 000000000000..c945ec953dd4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json
new file mode 100644
index 000000000000..df1c4b66b252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelInfo": {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "my composed model",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ },
+ "keys": {
+ "clusters": {
+ "0": [
+ "Invoice",
+ "123112313"
+ ],
+ "1": [
+ "Please remit payment to:",
+ "Microsoft"
+ ]
+ }
+ },
+ "trainResult": {
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ "composedTrainResults": [
+ {
+ "modelId": "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ {
+ "modelId": "6f841356-aa32-42c9-a739-2182c47b79c9",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json
new file mode 100644
index 000000000000..36ee11465e4f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "full",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 2,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ },
+ "modelList": [
+ {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 1",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": false
+ }
+ },
+ {
+ "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 2",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json
new file mode 100644
index 000000000000..507495b78206
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "summary",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 5,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json
new file mode 100644
index 000000000000..1495017a7252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..2a258bfe71bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..0790699b3fac
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json
new file mode 100644
index 000000000000..b67143b72085
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..ec88bff4f0d5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1",
+ "sourceFilter": {
+ "prefix": "",
+ "includeSubFolders": false
+ },
+ "useLabelFile": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
index 1f5392f74b54..a3f839b98e64 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
@@ -1,4 +1,4 @@
-## Go
+### Go
These settings apply only when `--go` is specified on the command line.
@@ -23,4 +23,4 @@ Please also specify `--go-sdk-folder=here.",
+ "maxLength": 100,
+ "minLength": 1
+ },
+ "enableMultipleLanguages": {
+ "type": "boolean",
+ "description": "Set to true to enable creating KBs in different languages for the same resource."
+ },
+ "defaultAnswer": {
+ "type": "string",
+ "description": "Default answer sent to user if no good match is found in the KB.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ }
+ },
+ "FileDTO": {
+ "type": "object",
+ "description": "DTO to hold details of uploaded files.",
+ "additionalProperties": false,
+ "required": [
+ "fileName",
+ "fileUri"
+ ],
+ "properties": {
+ "fileName": {
+ "type": "string",
+ "description": "File name. Supported file types are \".tsv\", \".pdf\", \".txt\", \".docx\", \".xlsx\".",
+ "maxLength": 200,
+ "minLength": 1
+ },
+ "fileUri": {
+ "type": "string",
+ "description": "Public URI of the file."
+ }
+ }
+ },
+ "ReplaceKbDTO": {
+ "type": "object",
+ "description": "Post body schema for Replace KB operation.",
+ "additionalProperties": false,
+ "required": [
+ "qnAList"
+ ],
+ "properties": {
+ "qnAList": {
+ "type": "array",
+ "description": "List of Q-A (QnADTO) to be added to the knowledgebase. Q-A Ids are assigned by the service and should be omitted.",
+ "items": {
+ "$ref": "#/definitions/QnADTO"
+ }
+ }
+ }
+ },
+ "QnADTO": {
+ "type": "object",
+ "description": "Q-A object.",
+ "additionalProperties": false,
+ "required": [
+ "answer",
+ "questions"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "Unique id for the Q-A.",
+ "format": "int32"
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text",
+ "maxLength": 25000,
+ "minLength": 1
+ },
+ "source": {
+ "type": "string",
+ "description": "Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs",
+ "maxLength": 300
+ },
+ "questions": {
+ "type": "array",
+ "description": "List of questions associated with the answer.",
+ "maxLength": 100,
+ "minLength": 1,
+ "items": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "array",
+ "description": "List of metadata associated with the answer.",
+ "maxLength": 10,
+ "items": {
+ "$ref": "#/definitions/MetadataDTO"
+ }
+ },
+ "context": {
+ "description": "Context of a QnA",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContextDTO"
+ }
+ ]
+ },
+ "lastUpdatedTimestamp": {
+ "type": "string",
+ "description": "Timestamp when the QnA was last updated.",
+ "maxLength": 300
+ }
+ }
+ },
+ "ContextDTO": {
+ "type": "object",
+ "description": "Context associated with Qna.",
+ "properties": {
+ "isContextOnly": {
+ "type": "boolean",
+ "description": "To mark if a prompt is relevant only with a previous question or not.\ntrue - Do not include this QnA as search result for queries without context\nfalse - ignores context and includes this QnA in search result"
+ },
+ "prompts": {
+ "type": "array",
+ "description": "List of prompts associated with the answer.",
+ "maxItems": 20,
+ "items": {
+ "$ref": "#/definitions/PromptDTO"
+ }
+ }
+ }
+ },
+ "PromptDTO": {
+ "type": "object",
+ "description": "Prompt for an answer.",
+ "properties": {
+ "displayOrder": {
+ "type": "integer",
+ "description": "Index of the prompt - used in ordering of the prompts",
+ "format": "int32"
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "Qna id corresponding to the prompt - if QnaId is present, QnADTO object is ignored.",
+ "format": "int32"
+ },
+ "qna": {
+ "description": "QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnADTO"
+ }
+ ]
+ },
+ "displayText": {
+ "type": "string",
+ "description": "Text displayed to represent a follow up question prompt",
+ "maxLength": 200
+ }
+ }
+ },
+ "MetadataDTO": {
+ "type": "object",
+ "description": "Name - value pair of metadata.",
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Metadata name.",
+ "maxLength": 100,
+ "minLength": 1
+ },
+ "value": {
+ "type": "string",
+ "description": "Metadata value.",
+ "maxLength": 500,
+ "minLength": 1
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "description": "Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.",
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Error"
+ }
+ ]
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "description": "The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.",
+ "additionalProperties": false,
+ "required": [
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "$ref": "#/definitions/ErrorCode"
+ },
+ "message": {
+ "type": "string",
+ "description": "A human-readable representation of the error."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the error."
+ },
+ "details": {
+ "type": "array",
+ "description": "An array of details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "innerError": {
+ "description": "An object containing more specific information than the current object about the error.",
+ "$ref": "#/definitions/InnerErrorModel"
+ }
+ }
+ },
+ "ErrorCode": {
+ "type": "string",
+ "description": "Human readable error code.",
+ "x-ms-enum": {
+ "name": "ErrorCodeType",
+ "modelAsString": true
+ },
+ "enum": [
+ "BadArgument",
+ "Forbidden",
+ "NotFound",
+ "KbNotFound",
+ "Unauthorized",
+ "Unspecified",
+ "EndpointKeysError",
+ "QuotaExceeded",
+ "QnaRuntimeError",
+ "SKULimitExceeded",
+ "OperationNotFound",
+ "ServiceError",
+ "ValidationFailure",
+ "ExtractionFailure"
+ ]
+ },
+ "InnerErrorModel": {
+ "type": "object",
+ "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.",
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "A more specific error code than was provided by the containing error."
+ },
+ "innerError": {
+ "description": "An object containing more specific information than the current object about the error.",
+ "$ref": "#/definitions/InnerErrorModel"
+ }
+ }
+ },
+ "Operation": {
+ "type": "object",
+ "description": "Record to track long running operation.",
+ "additionalProperties": false,
+ "properties": {
+ "operationState": {
+ "description": "Operation state.",
+ "$ref": "#/definitions/OperationState"
+ },
+ "createdTimestamp": {
+ "type": "string",
+ "description": "Timestamp when the operation was created."
+ },
+ "lastActionTimestamp": {
+ "type": "string",
+ "description": "Timestamp when the current state was entered."
+ },
+ "resourceLocation": {
+ "type": "string",
+ "description": "Relative URI to the target resource location for completed resources."
+ },
+ "userId": {
+ "type": "string",
+ "description": "User Id"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation Id."
+ },
+ "errorResponse": {
+ "description": "Error details in case of failures.",
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "OperationState": {
+ "type": "string",
+ "description": "Enumeration of operation states.",
+ "x-ms-enum": {
+ "name": "OperationStateType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Failed",
+ "NotStarted",
+ "Running",
+ "Succeeded"
+ ]
+ },
+ "KnowledgebasesDTO": {
+ "type": "object",
+ "description": "Collection of knowledgebases owned by a user.",
+ "additionalProperties": false,
+ "properties": {
+ "knowledgebases": {
+ "type": "array",
+ "description": "Collection of knowledgebase records.",
+ "items": {
+ "$ref": "#/definitions/KnowledgebaseDTO"
+ }
+ }
+ }
+ },
+ "KnowledgebaseDTO": {
+ "type": "object",
+ "description": "Response schema for CreateKb operation.",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique id that identifies a knowledgebase."
+ },
+ "hostName": {
+ "type": "string",
+ "description": "URL host name at which the knowledgebase is hosted."
+ },
+ "lastAccessedTimestamp": {
+ "type": "string",
+ "description": "Time stamp at which the knowledgebase was last accessed (UTC)."
+ },
+ "lastChangedTimestamp": {
+ "type": "string",
+ "description": "Time stamp at which the knowledgebase was last modified (UTC)."
+ },
+ "lastPublishedTimestamp": {
+ "type": "string",
+ "description": "Time stamp at which the knowledgebase was last published (UTC)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Friendly name of the knowledgebase."
+ },
+ "userId": {
+ "type": "string",
+ "description": "User who created / owns the knowledgebase."
+ },
+ "urls": {
+ "type": "array",
+ "description": "URL sources from which Q-A were extracted and added to the knowledgebase.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sources": {
+ "type": "array",
+ "description": "Custom sources from which Q-A were extracted or explicitly added to the knowledgebase.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EndpointSettingsDTO": {
+ "type": "object",
+ "description": "Endpoint settings.",
+ "additionalProperties": false,
+ "properties": {
+ "activeLearning": {
+ "description": "Active Learning settings of the endpoint.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActiveLearningSettingsDTO"
+ }
+ ]
+ }
+ }
+ },
+ "ActiveLearningSettingsDTO": {
+ "type": "object",
+ "description": "Active Learning settings of the endpoint.",
+ "additionalProperties": false,
+ "properties": {
+ "enable": {
+ "type": "string",
+ "description": "True/False string providing Active Learning"
+ }
+ }
+ },
+ "WordAlterationsDTO": {
+ "type": "object",
+ "description": "Collection of word alterations.",
+ "additionalProperties": false,
+ "required": [
+ "wordAlterations"
+ ],
+ "properties": {
+ "wordAlterations": {
+ "type": "array",
+ "description": "Collection of word alterations.",
+ "maxLength": 10000,
+ "items": {
+ "$ref": "#/definitions/AlterationsDTO"
+ }
+ }
+ }
+ },
+ "AlterationsDTO": {
+ "type": "object",
+ "description": "Collection of words that are synonyms.",
+ "additionalProperties": false,
+ "required": [
+ "alterations"
+ ],
+ "properties": {
+ "alterations": {
+ "type": "array",
+ "description": "Words that are synonymous with each other.",
+ "maxLength": 20,
+ "minLength": 1,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EndpointKeysDTO": {
+ "type": "object",
+ "description": "Schema for EndpointKeys generate/refresh operations.",
+ "additionalProperties": false,
+ "properties": {
+ "primaryEndpointKey": {
+ "type": "string",
+ "description": "Primary Access Key."
+ },
+ "secondaryEndpointKey": {
+ "type": "string",
+ "description": "Secondary Access Key."
+ },
+ "installedVersion": {
+ "type": "string",
+ "description": "Current version of runtime."
+ },
+ "lastStableVersion": {
+ "type": "string",
+ "description": "Latest version of runtime."
+ },
+ "language": {
+ "type": "string",
+ "description": "Language setting of runtime."
+ }
+ }
+ },
+ "QueryDTO": {
+ "type": "object",
+ "description": "POST body schema to query the knowledgebase.",
+ "additionalProperties": false,
+ "properties": {
+ "qnaId": {
+ "type": "string",
+ "description": "Exact qnaId to fetch from the knowledgebase, this field takes priority over question."
+ },
+ "question": {
+ "type": "string",
+ "description": "User question to query against the knowledge base."
+ },
+ "top": {
+ "type": "integer",
+ "description": "Max number of answers to be returned for the question.",
+ "format": "int32"
+ },
+ "userId": {
+ "type": "string",
+ "description": "Unique identifier for the user."
+ },
+ "isTest": {
+ "type": "boolean",
+ "description": "Query against the test index."
+ },
+ "scoreThreshold": {
+ "type": "number",
+ "description": "Minimum threshold score for answers."
+ },
+ "context": {
+ "description": "Context object with previous QnA's information.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QueryContextDTO"
+ }
+ ]
+ },
+ "rankerType": {
+ "type": "string",
+ "description": "Optional field. Set to 'QuestionOnly' for using a question only Ranker."
+ },
+ "strictFilters": {
+ "type": "array",
+ "description": "Find QnAs that are associated with the given list of metadata.",
+ "items": {
+ "$ref": "#/definitions/MetadataDTO"
+ }
+ },
+ "strictFiltersCompoundOperationType": {
+ "type": "string",
+ "description": "Optional field. Set to 'OR' for using OR operation for strict filters.",
+ "x-ms-enum": {
+ "name": "StrictFiltersCompoundOperationType",
+ "modelAsString": true
+ },
+ "enum": [
+ "AND",
+ "OR"
+ ]
+ },
+ "answerSpanRequest": {
+ "description": "To configure Answer span prediction feature.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnswerSpanRequestDTO"
+ }
+ ]
+ }
+ }
+ },
+ "QueryContextDTO": {
+ "type": "object",
+ "description": "Context object with previous QnA's information.",
+ "additionalProperties": false,
+ "properties": {
+ "previousQnaId": {
+ "type": "integer",
+ "description": "Previous QnA Id - qnaId of the top result."
+ },
+ "previousUserQuery": {
+ "type": "string",
+ "description": "Previous user query."
+ }
+ }
+ },
+ "QnASearchResultList": {
+ "type": "object",
+ "description": "Represents List of Question Answers.",
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "array",
+ "description": "Represents Search Result list.",
+ "items": {
+ "$ref": "#/definitions/QnASearchResult"
+ }
+ }
+ }
+ },
+ "QnASearchResult": {
+ "type": "object",
+ "description": "Represents Search Result.",
+ "additionalProperties": false,
+ "properties": {
+ "questions": {
+ "type": "array",
+ "description": "List of questions.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer."
+ },
+ "score": {
+ "type": "number",
+ "description": "Search result score."
+ },
+ "id": {
+ "type": "integer",
+ "description": "Id of the QnA result.",
+ "format": "int32"
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of QnA result."
+ },
+ "metadata": {
+ "type": "array",
+ "description": "List of metadata.",
+ "items": {
+ "$ref": "#/definitions/MetadataDTO"
+ }
+ },
+ "context": {
+ "type": "object",
+ "description": "Context object of the QnA",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContextDTO"
+ }
+ ]
+ },
+ "answerSpan": {
+ "type": "object",
+ "description": "Answer span object of QnA with respect to user's question.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnswerSpanResponseDTO"
+ }
+ ]
+ }
+ }
+ },
+ "FeedbackRecordsDTO": {
+ "type": "object",
+ "description": "Active learning feedback records.",
+ "additionalProperties": false,
+ "properties": {
+ "feedbackRecords": {
+ "type": "array",
+ "description": "List of feedback records.",
+ "maxLength": 1000,
+ "items": {
+ "$ref": "#/definitions/FeedbackRecordDTO"
+ }
+ }
+ }
+ },
+ "FeedbackRecordDTO": {
+ "type": "object",
+ "description": "Active learning feedback record.",
+ "additionalProperties": false,
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "Unique identifier for the user."
+ },
+ "userQuestion": {
+ "type": "string",
+ "description": "The suggested question being provided as feedback.",
+ "maxLength": 1000
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "The qnaId for which the suggested question is provided as feedback.",
+ "format": "int32"
+ }
+ }
+ },
+ "AnswerSpanRequestDTO": {
+ "type": "object",
+ "description": "To configure Answer span prediction feature.",
+ "additionalProperties": false,
+ "properties": {
+ "enable": {
+ "type": "boolean",
+ "description": "Enable or Disable Answer Span prediction."
+ },
+ "scoreThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum threshold score required to include an answer span."
+ },
+ "topAnswersWithSpan": {
+ "type": "integer",
+ "description": "Number of Top answers to be considered for span prediction.",
+ "format": "int32",
+ "maximum": 10,
+ "minimum": 1
+ }
+ }
+ },
+ "AnswerSpanResponseDTO": {
+ "type": "object",
+ "description": "Answer span object of QnA.",
+ "additionalProperties": false,
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Predicted text of answer span."
+ },
+ "score": {
+ "type": "number",
+ "description": "Predicted score of answer span.",
+ "format": "double"
+ },
+ "startIndex": {
+ "type": "integer",
+ "description": "Start index of answer span in answer.",
+ "format": "int32"
+ },
+ "endIndex": {
+ "type": "integer",
+ "description": "End index of answer span in answer.",
+ "format": "int32"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Environment": {
+ "type": "string",
+ "name": "environment",
+ "in": "path",
+ "required": true,
+ "x-nullable": false,
+ "description": "Specifies whether environment is Test or Prod.",
+ "x-ms-enum": {
+ "name": "EnvironmentType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Prod",
+ "Test"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "CreateKbPayload": {
+ "name": "createKbPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateKbDTO"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "UpdateKb": {
+ "name": "updateKb",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateKbOperationDTO"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "ReplaceKb": {
+ "name": "replaceKb",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplaceKbDTO"
+ },
+ "x-nullable": true,
+ "description": "An instance of ReplaceKbDTO which contains list of qnas to be uploaded",
+ "x-ms-parameter-location": "method"
+ },
+ "KbId": {
+ "type": "string",
+ "name": "kbId",
+ "in": "path",
+ "required": true,
+ "x-nullable": false,
+ "description": "Knowledgebase id.",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationId": {
+ "type": "string",
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "x-nullable": false,
+ "description": "Operation id.",
+ "x-ms-parameter-location": "method"
+ },
+ "WordAlterations": {
+ "name": "wordAlterations",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WordAlterationsDTO"
+ },
+ "x-nullable": true,
+ "description": "New alterations data.",
+ "x-ms-parameter-location": "method"
+ },
+ "KeyType": {
+ "type": "string",
+ "name": "keyType",
+ "in": "path",
+ "required": true,
+ "x-nullable": false,
+ "description": "Type of Key",
+ "x-ms-parameter-location": "method"
+ },
+ "GenerateAnswerPayload": {
+ "name": "generateAnswerPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDTO"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "TrainPayload": {
+ "name": "trainPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeedbackRecordsDTO"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoint (e.g., https://< qnamaker-resource-name >.api.cognitiveservices.azure.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "EndpointSettingsPayload": {
+ "name": "endpointSettingsPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointSettingsDTO"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json
new file mode 100644
index 000000000000..2f0bc8e9ee82
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "createKbPayload": {
+ "name": "QnA Maker FAQ",
+ "qnaList": [
+ {
+ "id": 0,
+ "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
+ "source": "Custom Editorial",
+ "questions": [
+ "How can I change the default message from QnA Maker?"
+ ],
+ "metadata": []
+ },
+ {
+ "id": 0,
+ "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
+ "source": "Custom Editorial",
+ "questions": [
+ "How do I programmatically create a KB?"
+ ],
+ "metadata": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "context": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "displayText": "Update KB",
+ "qna": {
+ "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
+ "questions": [
+ "How do I programmatically update my KB?"
+ ],
+ "metadata": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "context": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "displayText": "Refresh Endpoint Keys",
+ "qna": {
+ "answer": "You can use our REST apis to refresh endpoint keys. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/endpointkeys/refreshkeys",
+ "questions": [
+ "How do I programmatically refresh endpoint keys?"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "urls": [
+ "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs",
+ "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq"
+ ],
+ "files": [
+ {
+ "fileName": "SurfaceManual.pdf",
+ "fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {},
+ "body": {
+ "operationState": "NotStarted",
+ "createdTimestamp": "2018-03-19T07:38:46Z",
+ "lastActionTimestamp": "2018-03-19T07:39:29Z",
+ "userId": "86bb8390-56c0-42c2-9f81-3de161981191",
+ "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json
new file mode 100644
index 000000000000..bcd50173c37b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json
new file mode 100644
index 000000000000..9c4bb3d38824
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "environment": "Test"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "qnaDocuments": [
+ {
+ "id": 1,
+ "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
+ "source": "Custom Editorial",
+ "questions": [
+ "How can I change the default message from QnA Maker?"
+ ],
+ "metadata": [],
+ "context": {
+ "isContextOnly": false,
+ "prompts": []
+ },
+ "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00"
+ },
+ {
+ "id": 2,
+ "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
+ "source": "Custom Editorial",
+ "questions": [
+ "How do I programmatically create a KB?"
+ ],
+ "metadata": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "context": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 3,
+ "displayText": "Update KB"
+ }
+ ]
+ },
+ "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00"
+ },
+ {
+ "id": 3,
+ "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
+ "source": "Editorial",
+ "questions": [
+ "How do I programmatically update my KB?"
+ ],
+ "metadata": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "context": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 4,
+ "displayText": "Refresh Endpoint Keys"
+ }
+ ]
+ },
+ "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00"
+ },
+ {
+ "id": 4,
+ "answer": "You can use our REST apis to refresh endpoint keys. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/endpointkeys/refreshkeys",
+ "source": "Editorial",
+ "questions": [
+ "How do I programmatically refresh endpoint keys?"
+ ],
+ "metadata": [],
+ "context": {
+ "isContextOnly": false,
+ "prompts": []
+ },
+ "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json
new file mode 100644
index 000000000000..c225ade135db
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "generateAnswerPayload": {
+ "question": "How much time it takes to complete quickstart guide?",
+ "top": 6,
+ "isTest": true,
+ "context": {
+ "previousQnaId": 9,
+ "previousUserQuery": "Where are QnA Maker quickstarts?"
+ },
+ "scoreThreshold": 20,
+ "strictFilters": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "answerSpanRequest": {
+ "enable": true,
+ "scoreThreshold": 25,
+ "topAnswersWithSpan": 1
+ },
+ "userId": "sd53lsY="
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "questions": [
+ "Complete a quickstart"
+ ],
+ "answer": "We offer quickstarts in most popular programming languages, each designed to teach you basic design patterns, and have you running code in less than 10 minutes. See the following list for the quickstart for each feature.\n\n* [Get started with the LUIS client library](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-sdk)\n\n* [Get started with the LUIS portal](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/create-publish-knowledge-base)\n\n* [Get started with the LUIS REST APis](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-rest-curl)",
+ "score": 46.11,
+ "id": 9,
+ "source": "Editorial",
+ "metadata": [],
+ "context": {
+ "isContextOnly": false,
+ "prompts": []
+ },
+ "answerSpan": {
+ "text": "less than 10 minutes",
+ "score": 54.92,
+ "startIndex": 139,
+ "endIndex": 159
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json
new file mode 100644
index 000000000000..465b1152950e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "wordAlterations": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ },
+ {
+ "alterations": [
+ "webchat",
+ "web chat"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json
new file mode 100644
index 000000000000..dcd63a18be30
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "wordAlterations": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ },
+ {
+ "alterations": [
+ "webchat",
+ "web chat"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json
new file mode 100644
index 000000000000..a32d6baa42de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "primaryEndpointKey": "73e88a14-694a-44d5-883b-184a68aa8530",
+ "secondaryEndpointKey": "b2c98c16-ca31-4294-8626-6c57454a5063",
+ "installedVersion": "4.0.5",
+ "lastStableVersion": "4.0.6"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json
new file mode 100644
index 000000000000..97cc7fcac360
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "activeLearning": {
+ "enable": "True"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json
new file mode 100644
index 000000000000..fbec604c70f5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "hostName": "https://myqnamakerbot.azurewebsites.net",
+ "lastAccessedTimestamp": "2018-03-16T10:59:46Z",
+ "lastChangedTimestamp": "2018-03-16T10:58:10Z",
+ "lastPublishedTimestamp": "2018-03-16T10:59:56Z",
+ "name": "My QnA Maker Bot",
+ "userId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1",
+ "urls": [
+ "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs",
+ "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq"
+ ],
+ "sources": [
+ "Custom Editorial",
+ "SurfaceManual.pdf"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json
new file mode 100644
index 000000000000..85e84d90aed9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operationState": "Succeeded",
+ "createdTimestamp": "2018-03-19T07:38:46Z",
+ "lastActionTimestamp": "2018-03-19T07:39:29Z",
+ "resourceLocation": "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "userId": "86bb8390-56c0-42c2-9f81-3de161981191",
+ "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json
new file mode 100644
index 000000000000..aab19445e730
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "knowledgebases": [
+ {
+ "id": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "hostName": "https://myqnamakerbot.azurewebsites.net",
+ "lastAccessedTimestamp": "2018-03-16T10:59:46Z",
+ "lastChangedTimestamp": "2018-03-16T10:58:10Z",
+ "lastPublishedTimestamp": "2018-03-16T10:59:56Z",
+ "name": "My QnA Maker Bot",
+ "userId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1",
+ "urls": [
+ "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs",
+ "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq"
+ ],
+ "sources": [
+ "Custom Editorial",
+ "SurfaceManual.pdf"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json
new file mode 100644
index 000000000000..bcd50173c37b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json
new file mode 100644
index 000000000000..fd6ba1224539
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "replaceKb": {
+ "qnAList": [
+ {
+ "id": 0,
+ "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
+ "source": "Custom Editorial",
+ "questions": [
+ "How can I change the default message from QnA Maker?"
+ ],
+ "metadata": []
+ },
+ {
+ "id": 0,
+ "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
+ "source": "Custom Editorial",
+ "questions": [
+ "How do I programmatically create a KB?"
+ ],
+ "metadata": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json
new file mode 100644
index 000000000000..ba8facefde92
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "wordAlterations": {
+ "wordAlterations": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ },
+ {
+ "alterations": [
+ "webchat",
+ "web chat"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json
new file mode 100644
index 000000000000..6dc5ca492391
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "wordAlterations": {
+ "wordAlterations": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ },
+ {
+ "alterations": [
+ "webchat",
+ "web chat"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json
new file mode 100644
index 000000000000..925d4f65d77d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "keyType": "PrimaryKey"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "primaryEndpointKey": "73e88a14-694a-44d5-883b-184a68aa8530",
+ "secondaryEndpointKey": "b2c98c16-ca31-4294-8626-6c57454a5063",
+ "installedVersion": "4.0.5",
+ "lastStableVersion": "4.0.6"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json
new file mode 100644
index 000000000000..468c0b59680a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "endpointSettingsPayload": {
+ "activeLearning": {
+ "enable": "True"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json
new file mode 100644
index 000000000000..4dabb5d81c35
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{Primary/Secondary Endpoint Key}",
+ "Content-Type": "application/json",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "trainPayload": {
+ "feedbackRecords": [
+ {
+ "userId": "sd53lsY=",
+ "userQuestion": "qna maker with luis",
+ "qnaId": 4
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json
new file mode 100644
index 000000000000..3c717ca27123
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
+ "updateKb": {
+ "add": {
+ "qnaList": [
+ {
+ "id": 0,
+ "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
+ "source": "Custom Editorial",
+ "questions": [
+ "How can I change the default message from QnA Maker?"
+ ],
+ "metadata": []
+ }
+ ],
+ "urls": [
+ "https://docs.microsoft.com/en-us/azure/cognitive-services/Emotion/FAQ"
+ ],
+ "files": [
+ {
+ "fileName": "SurfaceManual.pdf",
+ "fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
+ }
+ ]
+ },
+ "delete": {
+ "ids": [
+ 13,
+ 35
+ ]
+ },
+ "update": {
+ "name": "QnA Maker FAQ Prompts Bot",
+ "qnaList": [
+ {
+ "id": 2,
+ "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
+ "source": "Custom Editorial",
+ "questions": {
+ "add": [],
+ "delete": []
+ },
+ "metadata": {
+ "add": [],
+ "delete": []
+ },
+ "context": {
+ "isContextOnly": false,
+ "promptsToAdd": [
+ {
+ "displayText": "Add Prompts",
+ "displayOrder": 0,
+ "qna": {
+ "id": 0,
+ "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
+ "source": "Editorial",
+ "questions": [
+ "How can I add prompts?"
+ ],
+ "metadata": [],
+ "context": {
+ "isContextOnly": false,
+ "prompts": []
+ }
+ },
+ "qnaId": 0
+ },
+ {
+ "displayText": "Delete Prompts",
+ "displayOrder": 0,
+ "qna": {
+ "id": 0,
+ "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
+ "source": "Editorial",
+ "questions": [
+ "How can I delete delete prompts?"
+ ],
+ "metadata": [],
+ "context": {
+ "isContextOnly": false,
+ "prompts": []
+ }
+ },
+ "qnaId": 0
+ },
+ {
+ "displayText": "Update Knowledgebase",
+ "displayOrder": 0,
+ "qna": null,
+ "qnaId": 3
+ }
+ ],
+ "promptsToDelete": [
+ 3
+ ]
+ }
+ },
+ {
+ "id": 3,
+ "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
+ "source": "Custom Editorial",
+ "questions": {
+ "add": [],
+ "delete": []
+ },
+ "metadata": {
+ "delete": [
+ {
+ "name": "category",
+ "value": "api"
+ }
+ ],
+ "add": [
+ {
+ "name": "category",
+ "value": "programmatic"
+ }
+ ]
+ },
+ "context": {
+ "isContextOnly": false,
+ "promptsToAdd": [
+ {
+ "displayText": "Regenerate Endpoint keys",
+ "displayOrder": 1,
+ "qna": null,
+ "qnaId": 4
+ }
+ ],
+ "promptsToDelete": [
+ 4
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {},
+ "body": {
+ "operationState": "NotStarted",
+ "createdTimestamp": "2018-03-19T07:38:46Z",
+ "lastActionTimestamp": "2018-03-19T07:39:29Z",
+ "userId": "86bb8390-56c0-42c2-9f81-3de161981191",
+ "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md
index 214d27ace71d..ac3d12f87b38 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md
@@ -14,6 +14,7 @@ go:
batch:
- tag: release_4_0
- tag: runtime_release_4_0
+ - tag: release_5_0_preview.1
```
### Tag: release_4_0 and go
@@ -35,3 +36,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.1' && $(go)
+namespace: qnamaker
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/cognitiveservices/v5.0-preview.1/$(namespace)
+```
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
index 23b55def218b..df7bb80d5701 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
@@ -5,6 +5,8 @@
Configuration for generating QnAMaker SDK.
The current release is `release_4_0`.
+A preview release `release_5_0_preview.1` is also available.
+
``` yaml
@@ -12,21 +14,33 @@ tag: release_4_0
add-credentials: true
openapi-type: data-plane
```
-# Releases
-### Release 4.0
-These settings apply only when `--tag=release_4_0` is specified on the command line.
+``` yaml
+tag: runtime_release_4_0
+add-credentials: true
+openapi-type: data-plane
+```
-``` yaml $(tag) == 'release_4_0'
-input-file: stable/v4.0/QnAMaker.json
+``` yaml
+tag: release_5_0_preview.1
+add-credentials: true
+openapi-type: data-plane
```
``` yaml
-tag: runtime_release_4_0
+tag: runtime_release_preview.1
add-credentials: true
openapi-type: data-plane
```
-# Runtime Releases
+
+# Releases
+
+### Release 4.0
+These settings apply only when `--tag=release_4_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_4_0'
+input-file: stable/v4.0/QnAMaker.json
+```
### Runtime Release 4.0
These settings apply only when `--tag=runtime_release_4_0` is specified on the command line.
@@ -35,10 +49,18 @@ These settings apply only when `--tag=runtime_release_4_0` is specified on the c
input-file: stable/v4.0/QnAMakerRuntime.json
```
+### Release 5.0-preview.1
+These settings apply only when `--tag=release_5_0_preview.1` is specified on the command line.
+
+``` yaml $(tag) == 'release_5_0_preview.1'
+input-file: preview/v5.0-preview.1/QnAMaker.json
+```
+
``` yaml
batch:
- tag: release_4_0
- tag: runtime_release_4_0
+ - tag: release_5_0_preview.1
```
## Swagger to SDK
@@ -59,9 +81,10 @@ swagger-to-sdk:
```
-## CSharp Settings
-These settings apply only when `--csharp` is specified on the command line.
-``` yaml $(csharp)
+## CSharp Settings Release 4.0
+These settings apply only when `--csharp --tag=release_4_0` is specified on the command line.
+
+``` yaml $(csharp) && $(tag) == 'release_4_0'
csharp:
sync-methods: None
license-header: MICROSOFT_MIT_NO_VERSION
@@ -71,6 +94,29 @@ csharp:
clear-output-folder: true
```
+``` yaml $(csharp) && $(tag) == 'runtime_release_4_0'
+csharp:
+ sync-methods: None
+ license-header: MICROSOFT_MIT_NO_VERSION
+ azure-arm: false
+ namespace: Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/Knowledge.QnAMaker/src/Generated
+ clear-output-folder: true
+```
+## CSharp Settings Release 5.0-preview.1
+
+These settings apply only when `--csharp --tag=release_5_0_preview.1` is specified on the command line.
+
+``` yaml $(csharp) && $(tag) == 'release_5_0_preview.1'
+csharp:
+ sync-methods: None
+ license-header: MICROSOFT_MIT_NO_VERSION
+ azure-arm: false
+ namespace: Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/Knowledge.QnAMaker/preview/src/Generated
+ clear-output-folder: true
+```
+
## Python
See configuration in [readme.python.md](./readme.python.md)
@@ -81,10 +127,10 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
-These settings apply only when `--java` is specified on the command line.
+These settings apply only when `--java --tag=release_4_0` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
-``` yaml $(java)
+``` yaml $(java) && $(tag) == 'release_4_0'
java:
azure-arm: true
namespace: com.microsoft.azure.cognitiveservices.knowledge.qnamaker
@@ -95,6 +141,21 @@ java:
with-single-async-method: true
```
+
+These settings apply only when `--java --tag=release_5_0_preview` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java) && $(tag) == 'release_5_0_preview.1'
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.cognitiveservices.knowledge.qnamaker
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/knowledge/qnamaker/preview
+ with-optional-parameters: true
+ with-single-async-method: true
+```
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -109,7 +170,7 @@ require: $(this-folder)/../../../../profiles/readme.md
input-file:
- $(this-folder)/stable/v4.0/QnAMaker.json
- $(this-folder)/stable/v4.0/QnAMakerRuntime.json
-
+ - $(this-folder)/preview/v5.0-preview.1/QnAMaker.json
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md
index 4a819e11716c..3f98fa061bd4 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md
@@ -1,9 +1,9 @@
## Node.js
-These settings apply only when `--nodejs` is specified on the command line.
+These settings apply only when `--nodejs --tag=release_4_0` is specified on the command line.
Please also specify `--node-sdks-folder=`.
-``` yaml $(nodejs)
+``` yaml $(tag) == 'release_4_0' && $(nodejs)
nodejs:
package-name: azure-cognitiveservices-qnamaker
output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesQnAMaker
@@ -12,3 +12,16 @@ nodejs:
generate-package-json: true
generate-readme-md: true
```
+
+These settings apply only when `--nodejs --tag=release_5_0_preview.1` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.1' && $(nodejs)
+nodejs:
+ package-name: azure-cognitiveservices-qnamaker-preview
+ output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesQnAMaker/preview
+ azure-arm: false
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
index 28c107b25da3..6be17bcb15d8 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
@@ -12,11 +12,18 @@ package-name: azure-cognitiveservices-knowledge-qnamaker
no-namespace-folders: true
clear-output-folder: true
```
+
``` yaml $(tag) == 'release_4_0'
namespace: azure.cognitiveservices.knowledge.qnamaker.authoring
output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/authoring
```
+
``` yaml $(tag) == 'runtime_release_4_0'
namespace: azure.cognitiveservices.knowledge.qnamaker.runtime
output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/runtime
```
+
+``` yaml $(tag) == 'release_5_0_preview.1'
+namespace: azure.cognitiveservices.knowledge.qnamaker.preview
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/preview/
+```
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md
index 9466e290b772..cbcfc7220bdd 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md
@@ -4,7 +4,7 @@ These settings apply only when `--ruby` is specified on the command line.
``` yaml
package-name: azure_cognitiveservices_qnamaker
-package-version: "0.16.0"
+package-version: "1.0.0"
azure-arm: true
```
@@ -13,6 +13,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
- tag: release_4_0
+ - tag: release_5_0_preview.1
```
### Tag: release_4_0 and ruby
@@ -23,4 +24,15 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.1' && $(ruby)
+namespace: "Azure::CognitiveServices::Qnamaker::V5_0_preview_1"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_qnamaker/lib
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md
index f796e6157012..14a2b6368a71 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md
@@ -3,10 +3,21 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
-``` yaml $(typescript)
+``` yaml $(tag) == 'release_4_0' && $(typescript)
typescript:
package-name: "@azure/cognitiveservices-qnamaker"
output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-qnamaker"
azure-arm: false
generate-metadata: true
```
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.1' && $(typescript)
+typescript:
+ package-name: "@azure/cognitiveservices-qnamaker"
+ output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-qnamaker/preview"
+ azure-arm: false
+ generate-metadata: true
+```
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
index 4e2a55047833..0f218c5ea51c 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
@@ -77,11 +77,8 @@
"application/json"
],
"responses": {
- "200": {
- "description": "Response with endpointSettings update status.",
- "schema": {
- "type": "string"
- }
+ "204": {
+ "description": "HTTP 204 No Content."
},
"default": {
"description": "Error response.",
@@ -567,6 +564,12 @@
},
{
"$ref": "#/parameters/Environment"
+ },
+ {
+ "$ref": "#/parameters/source"
+ },
+ {
+ "$ref": "#/parameters/changedSince"
}
],
"consumes": [
@@ -902,7 +905,7 @@
},
"language": {
"type": "string",
- "description": "Language of the knowledgebase.",
+ "description": "Language of the knowledgebase. Please find the list of supported languages here .",
"maxLength": 100,
"minLength": 1
}
@@ -1418,6 +1421,24 @@
"description": "Knowledgebase id.",
"x-ms-parameter-location": "method"
},
+ "source": {
+ "type": "string",
+ "name": "source",
+ "in": "query",
+ "required": false,
+ "x-nullable": false,
+ "description": "The source property filter to apply. Sample value: Editorial, smartLight%20FAQ.tsv .",
+ "x-ms-parameter-location": "method"
+ },
+ "changedSince": {
+ "type": "string",
+ "name": "changedSince",
+ "in": "query",
+ "required": false,
+ "x-nullable": false,
+ "description": "changedSince property is used to return all QnAs created or updated after a specific time duration. The user can filter QnAs by seconds (s), minutes (m), hours (h) and days (d). The user may use any integral value along with the suffix for time. For instance, the value of 5m returns all QnA pairs updated or created in the last 5 minutes.",
+ "x-ms-parameter-location": "method"
+ },
"OperationId": {
"type": "string",
"name": "operationId",
@@ -1449,7 +1470,7 @@
},
"Endpoint": {
"name": "Endpoint",
- "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "description": "Supported Cognitive Services endpoint (e.g., https://< qnamaker-resource-name> .api.cognitiveservices.azure.com).",
"x-ms-parameter-location": "client",
"required": true,
"type": "string",
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
index 843426973bd1..04490d47590a 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
@@ -339,7 +339,7 @@
},
"userId": {
"type": "string",
- "description": "Unique identifier for the user."
+ "description": "Unique identifier for the user. Optional parameter for telemetry. For more information, refer Analytics and Telemetry ."
},
"isTest": {
"type": "boolean",
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json
index 640d3f21dc32..fd6ba1224539 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json
@@ -5,7 +5,7 @@
"Ocp-Apim-Subscription-Key": "{API key}",
"kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff",
"replaceKb": {
- "qnaList": [
+ "qnAList": [
{
"id": 0,
"answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json
index a12bd163bd89..468c0b59680a 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json
@@ -10,9 +10,6 @@
}
},
"responses": {
- "200": {
- "headers": {},
- "body": "Successfully updated endpoint settings"
- }
+ "204": {}
}
}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json
index 0a767648beb6..3c717ca27123 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json
@@ -48,9 +48,6 @@
"add": [],
"delete": []
},
- "alternateQuestionClusters": {
- "delete": []
- },
"context": {
"isContextOnly": false,
"promptsToAdd": [
@@ -65,7 +62,6 @@
"How can I add prompts?"
],
"metadata": [],
- "alternateQuestionClusters": [],
"context": {
"isContextOnly": false,
"prompts": []
@@ -84,7 +80,6 @@
"How can I delete delete prompts?"
],
"metadata": [],
- "alternateQuestionClusters": [],
"context": {
"isContextOnly": false,
"prompts": []
@@ -126,9 +121,6 @@
}
]
},
- "alternateQuestionClusters": {
- "delete": []
- },
"context": {
"isContextOnly": false,
"promptsToAdd": [
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
index ce0e51fa4b86..8b30ef934161 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
@@ -80,7 +80,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -138,7 +138,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -196,7 +196,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -254,7 +254,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -312,7 +312,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -370,7 +370,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -440,6 +440,19 @@
}
}
},
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
"TextAnalyticsError": {
"type": "object",
"required": [
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json
index be6c1a405786..d60fb072603e 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json
@@ -47,27 +47,16 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "required": false,
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean",
- "required": false
+ "$ref": "#/parameters/ShowStats"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MultiLanguageBatchInput"
- }
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
}
],
"responses": {
@@ -80,7 +69,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -107,16 +96,10 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean"
+ "$ref": "#/parameters/ShowStats"
},
{
"name": "domain",
@@ -125,13 +108,10 @@
"type": "string"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MultiLanguageBatchInput"
- }
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
}
],
"responses": {
@@ -144,7 +124,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -171,25 +151,16 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean"
+ "$ref": "#/parameters/ShowStats"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MultiLanguageBatchInput"
- }
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
}
],
"responses": {
@@ -202,7 +173,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -229,25 +200,13 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean"
+ "$ref": "#/parameters/ShowStats"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze. Documents can now contain a language field to indicate the text language",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MultiLanguageBatchInput"
- }
+ "$ref": "#/parameters/MultiLanguageInput"
}
],
"responses": {
@@ -260,7 +219,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -287,25 +246,13 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean"
+ "$ref": "#/parameters/ShowStats"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LanguageBatchInput"
- }
+ "$ref": "#/parameters/LanguageInput"
}
],
"responses": {
@@ -318,7 +265,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -345,16 +292,10 @@
],
"parameters": [
{
- "name": "model-version",
- "in": "query",
- "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
- "type": "string"
+ "$ref": "#/parameters/ModelVersion"
},
{
- "name": "showStats",
- "in": "query",
- "description": "(Optional) if set to true, response will contain input and document level statistics.",
- "type": "boolean"
+ "$ref": "#/parameters/ShowStats"
},
{
"name": "opinionMining",
@@ -363,13 +304,10 @@
"type": "boolean"
},
{
- "in": "body",
- "name": "input",
- "description": "Collection of documents to analyze.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MultiLanguageBatchInput"
- }
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
}
],
"responses": {
@@ -382,7 +320,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -452,6 +390,19 @@
}
}
},
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
"TextAnalyticsError": {
"type": "object",
"required": [
@@ -462,14 +413,14 @@
"code": {
"type": "string",
"enum": [
- "invalidRequest",
- "invalidArgument",
- "internalServerError",
- "serviceUnavailable"
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable"
],
"x-ms-enum": {
"name": "ErrorCodeValue",
- "modelAsString": false
+ "modelAsString": true
},
"description": "Error code."
},
@@ -509,7 +460,7 @@
],
"x-ms-enum": {
"name": "WarningCodeValue",
- "modelAsString": false
+ "modelAsString": true
},
"description": "Error code."
},
@@ -533,19 +484,19 @@
"code": {
"type": "string",
"enum": [
- "invalidParameterValue",
- "invalidRequestBodyFormat",
- "emptyRequest",
- "missingInputRecords",
- "invalidDocument",
- "modelVersionIncorrect",
- "invalidDocumentBatch",
- "unsupportedLanguageCode",
- "invalidCountryHint"
+ "InvalidParameterValue",
+ "InvalidRequestBodyFormat",
+ "EmptyRequest",
+ "MissingInputRecords",
+ "InvalidDocument",
+ "ModelVersionIncorrect",
+ "InvalidDocumentBatch",
+ "UnsupportedLanguageCode",
+ "InvalidCountryHint"
],
"x-ms-enum": {
"name": "InnerErrorCodeValue",
- "modelAsString": false
+ "modelAsString": true
},
"description": "Error code."
},
@@ -802,6 +753,10 @@
"mixed",
"negative"
],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
"description": "Aspect level sentiment for the aspect in the sentence."
},
"confidenceScores": {
@@ -849,6 +804,10 @@
"mixed",
"negative"
],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
"description": "Opinion level sentiment for the aspect in the sentence."
},
"confidenceScores": {
@@ -888,6 +847,10 @@
"opinion",
"aspect"
],
+ "x-ms-enum": {
+ "name": "AspectRelationType",
+ "modelAsString": false
+ },
"description": "The type related to the aspect."
},
"ref": {
@@ -1337,6 +1300,73 @@
"type": "string",
"in": "path",
"x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ShowStats": {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain request and document level statistics.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/TextAnalytics.json
new file mode 100644
index 000000000000..51298697016f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/TextAnalytics.json
@@ -0,0 +1,1444 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.1-preview.2",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/v3.1-preview.2",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API . See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API . See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if set to 'PHI', response will contain only PHI entities.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiEntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity PII request": {
+ "$ref": ".//examples//SuccessfulEntityPIIRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/linking": {
+ "post": {
+ "summary": "Linked entities from a well-known knowledge base",
+ "description": "The API returns a list of recognized entities with links to a well-known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesLinking",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities with links to a well-known knowledge base returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (aspects) and opinions.",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)",
+ "schema": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "The set of documents to process as part of this batch.",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "description": "Contains a set of input documents to be analyzed by the service."
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string",
+ "description": "The input text to process."
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ }
+ },
+ "description": "Contains an input document to be analyzed by the service."
+ },
+ "DocumentError": {
+ "type": "object",
+ "required": [
+ "id",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "TextAnalyticsError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "TextAnalyticsWarning": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "LongWordsInDocument",
+ "DocumentTruncated"
+ ],
+ "x-ms-enum": {
+ "name": "WarningCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Warning message."
+ },
+ "targetRef": {
+ "type": "string",
+ "description": "A JSON pointer reference indicating the target object."
+ }
+ }
+ },
+ "InnerError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidParameterValue",
+ "InvalidRequestBodyFormat",
+ "EmptyRequest",
+ "MissingInputRecords",
+ "InvalidDocument",
+ "ModelVersionIncorrect",
+ "InvalidDocumentBatch",
+ "UnsupportedLanguageCode",
+ "InvalidCountryHint"
+ ],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "SentimentResponse": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Sentiment analysis per document.",
+ "items": {
+ "$ref": "#/definitions/DocumentSentiment"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentSentiment": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentiment",
+ "confidenceScores",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative",
+ "mixed"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "confidenceScores": {
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "sentences": {
+ "type": "array",
+ "description": "Sentence level sentiment analysis.",
+ "items": {
+ "$ref": "#/definitions/SentenceSentiment"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "required": [
+ "documentsCount",
+ "validDocumentsCount",
+ "erroneousDocumentsCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "documentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of documents submitted in the request."
+ },
+ "validDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents."
+ },
+ "erroneousDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of transactions for the request."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the request payload."
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "required": [
+ "charactersCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "charactersCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of text elements recognized in the document."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of transactions for the document."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload."
+ },
+ "SentimentConfidenceScorePerLabel": {
+ "type": "object",
+ "required": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "neutral": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative."
+ },
+ "SentenceSentiment": {
+ "type": "object",
+ "required": [
+ "text",
+ "sentiment",
+ "confidenceScores",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The sentence text."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "The predicted Sentiment for the sentence.",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "confidenceScores": {
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ },
+ "aspects": {
+ "type": "array",
+ "description": "The array of aspect object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAspect"
+ }
+ },
+ "opinions": {
+ "type": "array",
+ "description": "The array of opinion object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceOpinion"
+ }
+ }
+ }
+ },
+ "SentenceAspect": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "length",
+ "offset",
+ "relations",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Aspect level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Aspect level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The aspect offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the aspect."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either opinion or aspect object which is related to the aspect.",
+ "items": {
+ "$ref": "#/definitions/AspectRelation"
+ }
+ }
+ }
+ },
+ "SentenceOpinion": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "isNegated",
+ "length",
+ "offset",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Opinion level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Opinion level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The opinion offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the opinion."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the opinion is negated."
+ }
+ }
+ },
+ "AspectRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "opinion",
+ "aspect"
+ ],
+ "x-ms-enum": {
+ "name": "AspectRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the aspect."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "AspectConfidenceScoreLabel": {
+ "type": "object",
+ "required": [
+ "negative",
+ "positive"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative."
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "PiiEntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/PiiDocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "PiiDocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "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, such as Person/Location/Org/SSN etc"
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "Entity sub type, such as Age/Year/TimeRange etc"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "EntityLinkingResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLinkedEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLinkedEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized well-known entities in the document.",
+ "items": {
+ "$ref": "#/definitions/LinkedEntity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LinkedEntity": {
+ "type": "object",
+ "required": [
+ "name",
+ "matches",
+ "language",
+ "url",
+ "dataSource"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Entity Linking formal name."
+ },
+ "matches": {
+ "type": "array",
+ "description": "List of instances this entity appears in the text.",
+ "items": {
+ "$ref": "#/definitions/Match"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "Language used in the data source."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the recognized entity from the data source."
+ },
+ "url": {
+ "type": "string",
+ "description": "URL for the entity's page from the data source."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source used to extract entity linking, such as Wiki/Bing etc."
+ },
+ "bingId": {
+ "type": "string",
+ "description": "Bing unique identifier of the recognized entity. Use in conjunction with the Bing Entity Search API to fetch additional relevant information."
+ }
+ }
+ },
+ "Match": {
+ "type": "object",
+ "required": [
+ "confidenceScore",
+ "text",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "If a well-known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned."
+ },
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity match text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity match text."
+ }
+ }
+ },
+ "KeyPhraseResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyPhrases"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentKeyPhrases": {
+ "type": "object",
+ "required": [
+ "id",
+ "keyPhrases",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "keyPhrases": {
+ "type": "array",
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string"
+ },
+ "countryHint": {
+ "type": "string"
+ }
+ }
+ },
+ "LanguageResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLanguage"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLanguage": {
+ "type": "object",
+ "required": [
+ "id",
+ "detectedLanguage",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "detectedLanguage": {
+ "description": "Detected Language.",
+ "$ref": "#/definitions/DetectedLanguage"
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "required": [
+ "name",
+ "iso6391Name",
+ "confidenceScore"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Long name of a detected language (e.g. English, French)."
+ },
+ "iso6391Name": {
+ "type": "string",
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ShowStats": {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain request and document level statistics.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..75b4489dcb2d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "Seattle",
+ "category": "Location",
+ "offset": 26,
+ "length": 7,
+ "confidenceScore": 0.80
+ },
+ {
+ "text": "last week",
+ "category": "DateTime",
+ "subcategory": "DateRange",
+ "offset": 34,
+ "length": 9,
+ "confidenceScore": 0.8
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "Microsoft",
+ "category": "Organization",
+ "offset": 10,
+ "length": 9,
+ "confidenceScore": 0.99
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "text": "Space Needle",
+ "category": "Organization",
+ "offset": 10,
+ "length": 12,
+ "confidenceScore": 0.75
+ },
+ {
+ "text": "2",
+ "category": "Quantity",
+ "subcategory": "Number",
+ "offset": 23,
+ "length": 1,
+ "confidenceScore": 0.8
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..2ad23b9ad32c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "name": "Seattle",
+ "matches": [
+ {
+ "text": "Seattle",
+ "offset": 26,
+ "length": 7,
+ "confidenceScore": 0.15
+ }
+ ],
+ "language": "en",
+ "id": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle",
+ "dataSource": "Wikipedia",
+ "bingId": "39d000e8-389d-22a3-4309-ffffc115d00e"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "name": "Microsoft",
+ "matches": [
+ {
+ "text": "Microsoft",
+ "offset": 10,
+ "length": 9,
+ "confidenceScore": 0.18
+ }
+ ],
+ "language": "en",
+ "id": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft",
+ "dataSource": "Wikipedia",
+ "bingId": "39d000e8-389d-22a3-4309-ffffc115d00f"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "name": "Space Needle",
+ "matches": [
+ {
+ "text": "Space Needle",
+ "offset": 10,
+ "length": 12,
+ "confidenceScore": 0.15
+ }
+ ],
+ "language": "en",
+ "id": "Space Needle",
+ "url": "https://en.wikipedia.org/wiki/Space_Needle",
+ "dataSource": "Wikipedia"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..90d2ea58bd29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "0",
+ "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
+ },
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "0",
+ "entities": [
+ {
+ "text": "859-98-0987",
+ "category": "U.S. Social Security Number (SSN)",
+ "subcategory": "",
+ "offset": 28,
+ "length": 11,
+ "confidenceScore": 0.65
+ }
+ ],
+ "redactedText": "Microsoft employee with ssn ******** is using our awesome API's.",
+ "warnings": []
+ },
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "111000025",
+ "category": "ABA Routing Number",
+ "subcategory": "",
+ "offset": 18,
+ "length": 9,
+ "confidenceScore": 0.75
+ }
+ ],
+ "redactedText": "Your ABA number - ******** - is the first 9 digits in the lower left hand corner of your personal check.",
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "998.214.865-68",
+ "category": "Brazil CPF Number",
+ "subcategory": "",
+ "offset": 3,
+ "length": 14,
+ "confidenceScore": 0.85
+ }
+ ],
+ "redactedText": "Is ******** your Brazilian CPF number?",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..12ff0ccce583
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "language": "fr",
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "language": "es",
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "world",
+ "input text"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "monde"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "carretera",
+ "tráfico",
+ "día"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..a74d7155c8e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "countryHint": "US",
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "detectedLanguage": {
+ "name": "English",
+ "iso6391Name": "en",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "detectedLanguage": {
+ "name": "French",
+ "iso6391Name": "fr",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "detectedLanguage": {
+ "name": "Spanish",
+ "iso6391Name": "es",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..ad3fc48d2cae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,323 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "Bad atmosphere. Not close to plenty of restaurants, hotels, and transit! Staff are not friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "sentences": [
+ {
+ "text": "Great atmosphere.",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "offset": 0,
+ "length": 17,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 6,
+ "length": 10,
+ "text": "atmosphere",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/0/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 0,
+ "length": 5,
+ "text": "great",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Close to plenty of restaurants, hotels, and transit!",
+ "sentiment": "neutral",
+ "confidenceScores": {
+ "positive": 0.13,
+ "neutral": 0.86,
+ "negative": 0.01
+ },
+ "offset": 18,
+ "length": 52,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 37,
+ "length": 11,
+ "text": "restaurants",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/1/opinions/0"
+ }
+ ]
+ },
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 50,
+ "length": 6,
+ "text": "hotels",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/1/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 18,
+ "length": 15,
+ "text": "close to plenty",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Staff are friendly and helpful.",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "offset": 71,
+ "length": 31,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 71,
+ "length": 5,
+ "text": "Staff",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/2/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 81,
+ "length": 8,
+ "text": "friendly",
+ "isNegated": false
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "neutral": 0.14,
+ "negative": 0.85
+ },
+ "sentences": [
+ {
+ "text": "Bad atmosphere.",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "neutral": 0.0,
+ "negative": 1.0
+ },
+ "offset": 8,
+ "length": 15,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "negative": 0.99
+ },
+ "offset": 4,
+ "length": 10,
+ "text": "atmosphere",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/0/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "negative": 0.99
+ },
+ "offset": 0,
+ "length": 3,
+ "text": "bad",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Not close to plenty of restaurants, hotels, and transit!",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.02,
+ "neutral": 0.44,
+ "negative": 0.54
+ },
+ "offset": 16,
+ "length": 56,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.03,
+ "negative": 0.97
+ },
+ "offset": 39,
+ "length": 11,
+ "text": "restaurants",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/1/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.03,
+ "negative": 0.97
+ },
+ "offset": 20,
+ "length": 5,
+ "text": "close",
+ "isNegated": true
+ }
+ ]
+ },
+ {
+ "text": "Staff are not friendly and helpful.",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "neutral": 0.0,
+ "negative": 1.0
+ },
+ "offset": 73,
+ "length": 35,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "negative": 1.0
+ },
+ "offset": 73,
+ "length": 5,
+ "text": "Staff",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/2/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "negative": 1.0
+ },
+ "offset": 87,
+ "length": 8,
+ "text": "friendly",
+ "isNegated": true
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json
new file mode 100644
index 000000000000..3af58c58c528
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json
@@ -0,0 +1,2297 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.1-preview.3",
+ "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. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview "
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/v3.1-preview.3",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "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"
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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/JobId"
+ },
+ {
+ "$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"
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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"
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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"
+ }
+ ],
+ "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"
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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/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"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API . See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if 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/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"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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/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"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (aspects) and opinions.",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/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"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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": false
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "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"
+ },
+ {
+ "type": "object",
+ "required": [
+ "analysisInput"
+ ],
+ "properties": {
+ "analysisInput": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ },
+ {
+ "$ref": "#/definitions/JobManifest"
+ }
+ ]
+ },
+ "AnalyzeJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/TasksState"
+ },
+ {
+ "properties": {
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "$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"
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notstarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "status",
+ "lastUpdateDateTime"
+ ],
+ "type": "object"
+ },
+ "TasksState": {
+ "properties": {
+ "tasks": {
+ "properties": {
+ "details": {
+ "items": {
+ "$ref": "#/definitions/TaskState"
+ },
+ "type": "array"
+ },
+ "completed": {
+ "type": "integer"
+ },
+ "failed": {
+ "type": "integer"
+ },
+ "inProgress": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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."
+ },
+ "aspects": {
+ "type": "array",
+ "description": "The array of aspect object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAspect"
+ }
+ },
+ "opinions": {
+ "type": "array",
+ "description": "The array of opinion object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceOpinion"
+ }
+ }
+ }
+ },
+ "SentenceAspect": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "length",
+ "offset",
+ "relations",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Aspect level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Aspect level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The aspect offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the aspect."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either opinion or aspect object which is related to the aspect.",
+ "items": {
+ "$ref": "#/definitions/AspectRelation"
+ }
+ }
+ }
+ },
+ "SentenceOpinion": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "isNegated",
+ "length",
+ "offset",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Opinion level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Opinion level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The opinion offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the opinion."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the opinion is negated."
+ }
+ }
+ },
+ "AspectRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "opinion",
+ "aspect"
+ ],
+ "x-ms-enum": {
+ "name": "AspectRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the aspect."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "AspectConfidenceScoreLabel": {
+ "type": "object",
+ "required": [
+ "negative",
+ "positive"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative."
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/HealthcareResult"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "$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/Entity"
+ },
+ {
+ "required": [
+ "isNegated"
+ ],
+ "properties": {
+ "isNegated": {
+ "type": "boolean"
+ },
+ "links": {
+ "description": "Entity references in known data sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntityLink"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "HealthcareRelation": {
+ "type": "object",
+ "required": [
+ "relationType",
+ "bidirectional",
+ "source",
+ "target"
+ ],
+ "properties": {
+ "relationType": {
+ "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.",
+ "type": "string"
+ },
+ "bidirectional": {
+ "description": "If true the relation between the entities is bidirectional, otherwise directionality is source to target.",
+ "type": "boolean"
+ },
+ "source": {
+ "description": "Reference link to the source entity.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Reference link to the target entity.",
+ "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"
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "JobDescriptor": {
+ "properties": {
+ "displayName": {
+ "description": "Optional display name for the analysis job.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobMetadata": {
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "displayName": {
+ "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",
+ "partiallycompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdateDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "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"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "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": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexTypeResponse",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "JobId": {
+ "description": "Job ID",
+ "format": "uuid",
+ "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"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeRequest.json
new file mode 100644
index 000000000000..87414f0d5cf7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeRequest.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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-preview.3/analyze/jobs/{jobId}"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json
new file mode 100644
index 000000000000..93d23bfe90a3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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": [
+ {
+ "name": "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"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..d6c9a0221153
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..998ac1d65bab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..d125525bda91
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json
new file mode 100644
index 000000000000..ef2721ece65d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1-preview.3/entities/healthcare/jobs/{jobId}"
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json
new file mode 100644
index 000000000000..7fe69d163906
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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-preview.3/entities/healthcare/jobs/{jobId}"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json
new file mode 100644
index 000000000000..00b97c3ce314
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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,
+ "isNegated": false
+ },
+ {
+ "offset": 27,
+ "length": 9,
+ "text": "ibuprofen",
+ "category": "MedicationName",
+ "confidenceScore": 1.0,
+ "isNegated": false,
+ "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,
+ "isNegated": false
+ }
+ ],
+ "relations": [
+ {
+ "relationType": "DosageOfMedication",
+ "bidirectional": false,
+ "source": "#/documents/0/entities/0",
+ "target": "#/documents/0/entities/1"
+ },
+ {
+ "relationType": "FrequencyOfMedication",
+ "bidirectional": false,
+ "source": "#/documents/0/entities/2",
+ "target": "#/documents/0/entities/1"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-05-08"
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..f45b74e027f5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..b1077b92db58
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..9363baebb94f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "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": [
+ {
+ "aspects": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "length": 10,
+ "offset": 6,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/0/opinions/0",
+ "relationType": "opinion"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "atmosphere"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "length": 17,
+ "offset": 0,
+ "opinions": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "isNegated": false,
+ "length": 5,
+ "offset": 0,
+ "sentiment": "positive",
+ "text": "great"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "Great atmosphere."
+ },
+ {
+ "aspects": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 11,
+ "offset": 37,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/opinions/0",
+ "relationType": "opinion"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "restaurants"
+ },
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 6,
+ "offset": 50,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/opinions/0",
+ "relationType": "opinion"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "hotels"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0.01,
+ "neutral": 0.86,
+ "positive": 0.13
+ },
+ "length": 52,
+ "offset": 18,
+ "opinions": [
+ {
+ "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"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index 3cad53b7f8b5..5fb753b1b464 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -14,112 +14,26 @@ You must also have the [endpoint and access key](../How-tos/text-analytics-how-t
## Installing the NuGet SDK Package
1. Create a new Console solution in Visual Studio.
1. Right click on the solution and click **Manage NuGet Packages for Solution**
-1. Mark the **Include Prerelease** checkbox.
-1. Select the **Browse** tab, and Search for **Microsoft.Azure.CognitiveServices.Language**
+1. Select the **Browse** tab, and Search for **Microsoft.AI.TextAnalytics**
1. Select the NuGet package and install it.
## Calling the Text Analytics API using the SDK
-The following code snippets show to consume the SDK. Note that you will need to replace `client.SubscriptionKey` with the key you received when you signed up and `client.AzureRegion` with the region you signed up for.
-
-```c#
-using System;
-using Microsoft.Azure.CognitiveServices.Language.TextAnalytics;
-using Microsoft.Azure.CognitiveServices.Language.TextAnalytics.Models;
-using System.Collections.Generic;
-
-namespace ConsoleApp1
-{
- class Program
- {
- static void Main(string[] args)
- {
- // Create a client.
- ITextAnalyticsAPI client = new TextAnalyticsAPI();
- client.AzureRegion = AzureRegions.Westus;
- client.SubscriptionKey = "ENTER KEY HERE";
-
- Console.OutputEncoding = System.Text.Encoding.UTF8;
-
- // Extracting language
- Console.WriteLine("===== LANGUAGE EXTRACTION ======");
-
- LanguageBatchResult result = client.DetectLanguage(
- new BatchInput(
- new List ()
- {
- new Input("1", "This is a document written in English."),
- new Input("2", "Este es un document escrito en Español."),
- new Input("3", "这是一个用中文写的文件")
- }));
-
- // Printing language results.
- foreach (var document in result.Documents)
- {
- Console.WriteLine("Document ID: {0} , Language: {1}", document.Id, document.DetectedLanguages[0].Name);
- }
-
- // Getting key-phrases
- Console.WriteLine("\n\n===== KEY-PHRASE EXTRACTION ======");
-
- KeyPhraseBatchResult result2 = client.KeyPhrases(
- new MultiLanguageBatchInput(
- new List()
- {
- new MultiLanguageInput("ja", "1", "猫は幸せ"),
- new MultiLanguageInput("de", "2", "Fahrt nach Stuttgart und dann zum Hotel zu Fu."),
- new MultiLanguageInput("en", "3", "My cat is stiff as a rock."),
- new MultiLanguageInput("es", "4", "A mi me encanta el fútbol!")
- }));
-
-
- // Printing keyphrases
- foreach (var document in result2.Documents)
- {
- Console.WriteLine("Document ID: {0} ", document.Id);
-
- Console.WriteLine("\t Key phrases:");
-
- foreach (string keyphrase in document.KeyPhrases)
- {
- Console.WriteLine("\t\t" + keyphrase);
- }
- }
-
- // Extracting sentiment
- Console.WriteLine("\n\n===== SENTIMENT ANALYSIS ======");
-
- SentimentBatchResult result3 = client.Sentiment(
- new MultiLanguageBatchInput(
- new List()
- {
- new MultiLanguageInput("en", "0", "I had the best day of my life."),
- new MultiLanguageInput("en", "1", "This was a waste of my time. The speaker put me to sleep."),
- new MultiLanguageInput("es", "2", "No tengo dinero ni nada que dar..."),
- new MultiLanguageInput("it", "3", "L'hotel veneziano era meraviglioso. È un bellissimo pezzo di architettura."),
- }));
-
-
- // Printing sentiment results
- foreach (var document in result3.Documents)
- {
- Console.WriteLine("Document ID: {0} , Sentiment Score: {1:0.00}", document.Id, document.Score);
- }
-
- }
- }
-}
-```
+See Text Analytics [Quickstart guide](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/quickstarts/text-analytics-sdk?tabs=version-3&pivots=programming-language-csharp) for detailed instructions on how to use the SDK in your application.
## Releases
> see https://aka.ms/autorest
-The current release is `release_2_0`.
-A preview release `release_2_1` is also available.
+The current release is `release_2_1`.
+A preview release `release_2_1_preview` is also available.
``` yaml
tag: release_2_1
add-credentials: true
+
+directive:
+ - suppress: LongRunningResponseStatusCode
+ reason: The validation tools do not properly recognize 202 as a supported response code.
```
### Release 2.0
@@ -170,6 +84,22 @@ These settings apply only when `--tag=release_3_1_preview.1` is specified on the
input-file: preview/v3.1-preview.1/TextAnalytics.json
```
+### Release 3.1-Preview.2
+
+These settings apply only when `--tag=release_3_1_preview.2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1_preview.2'
+input-file: preview/v3.1-preview.2/TextAnalytics.json
+```
+
+### Release 3.1-Preview.3
+
+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.1-preview.3/TextAnalytics.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -202,7 +132,7 @@ csharp:
```
## Python
-
+
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
@@ -248,34 +178,4 @@ java:
output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/language/textanalytics
with-optional-parameters: true
with-single-async-method: 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)/stable/v2.0/TextAnalytics.json
- - $(this-folder)/stable/v2.1/TextAnalytics.json
- - $(this-folder)/preview/v2.1/TextAnalytics.json
- - $(this-folder)/preview/v3.0-preview.1/TextAnalytics.json
- - $(this-folder)/stable/v3.0/TextAnalytics.json
- - $(this-folder)/preview/v3.1-preview.1/TextAnalytics.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
-```
-
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md
new file mode 100644
index 000000000000..4a63a1d1c41b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md
@@ -0,0 +1,55 @@
+## 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-mode: create
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+payload-flattening-threshold: 2
+package-name: azure-ai-textanalytics
+clear-output-folder: true
+credential-scopes: https://cognitiveservices.azure.com/.default
+no-namespace-folders: true
+```
+
+```yaml $(multiapi)
+batch:
+ - tag: release_3_0
+ - tag: release_3_1_preview.2
+ - tag: release_3_2_preview.1
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics
+default-api: v3_0
+clear-output-folder: false
+perform-load: false
+```
+
+### Tag: release_3_0
+``` yaml $(tag) == 'release_3_0'
+namespace: azure.ai.textanalytics.v3_0
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_0
+```
+
+### Tag: release_3_1_preview_1
+``` yaml $(tag) == 'release_3_1_preview.1'
+namespace: azure.ai.textanalytics.v3_1_preview_1
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_1
+```
+
+### Tag: release_3_1_preview_2
+``` yaml $(tag) == 'release_3_1_preview.2'
+namespace: azure.ai.textanalytics.v3_1_preview_2
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_2
+```
+
+### Tag: release_3_2_preview_1
+``` yaml $(tag) == 'release_3_2_preview.1'
+namespace: azure.ai.textanalytics.v3_2_preview_1
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_2_preview_1
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
index 2d566abbda19..7cb1299f0de4 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
@@ -80,7 +80,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -138,7 +138,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -196,7 +196,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -254,7 +254,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -312,7 +312,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -382,6 +382,19 @@
}
}
},
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
"TextAnalyticsError": {
"type": "object",
"required": [
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json
index abdf5f8a1425..a335724dfb36 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json
@@ -824,7 +824,7 @@
"type": "object",
"properties": {
"sourceUrl": {
- "description": "Location of the folder / container with your documents",
+ "description": "Location of the folder / container or single file with your documents",
"type": "string",
"example": "https://myblob.blob.core.windows.net/Container/"
},
@@ -900,6 +900,14 @@
}
}
},
+ "StorageInputType": {
+ "description": "Storage type of the input documents source string",
+ "enum": [
+ "Folder",
+ "File"
+ ],
+ "type": "string"
+ },
"BatchRequest": {
"description": "Definition for the input batch translation request",
"required": [
@@ -917,6 +925,9 @@
"items": {
"$ref": "#/definitions/TargetInput"
}
+ },
+ "storageType": {
+ "$ref": "#/definitions/StorageInputType"
}
}
},
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
index 6fafff2877ff..4413c8ecc9ef 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
@@ -641,6 +641,48 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "description": "Gets the private endpoint connections associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "GetPrivateEndpointConnection": {
+ "$ref": "./examples/ListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
"get": {
"tags": [
@@ -1009,6 +1051,26 @@
"description": "(Personalization Only) The storage account connection string.",
"pattern": "^(( *)DefaultEndpointsProtocol=(http|https)( *);( *))?AccountName=(.*)AccountKey=(.*)EndpointSuffix=(.*)$",
"maxLength": 1000
+ },
+ "aadClientId": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The Azure AD Client Id (Application Id).",
+ "maxLength": 500
+ },
+ "aadTenantId": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The Azure AD Tenant Id.",
+ "maxLength": 500
+ },
+ "superUser": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The super user of Metrics Advisor.",
+ "maxLength": 500
+ },
+ "websiteName": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The website name of Metrics Advisor.",
+ "maxLength": 500
}
},
"description": "The api properties for special APIs."
@@ -1658,6 +1720,18 @@
},
"description": "The user owned storage for Cognitive Services account."
},
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "description": "A list of private endpoint connections"
+ },
"PrivateEndpointConnection": {
"properties": {
"properties": {
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..54f2f6a453fc
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2019-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b39fda607747
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-cognitiveservices-2017-04-18
+ - tag: schema-cognitiveservices-2016-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-cognitiveservices-2017-04-18 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cognitiveservices-2017-04-18' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+
+```
+
+### Tag: schema-cognitiveservices-2016-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-cognitiveservices-2016-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json
+
+```
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index 5e1afb8546f0..6a6be724ecc5 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -70,6 +70,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cognitive_services']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cognitiveservices/resource-manager
```
@@ -141,28 +144,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
- - $(this-folder)/Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/commerce/resource-manager/readme.azureresourceschema.md b/specification/commerce/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..10ddf94097fb
--- /dev/null
+++ b/specification/commerce/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-commerce-2015-06-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-commerce-2015-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-commerce-2015-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
+
+```
diff --git a/specification/commerce/resource-manager/readme.csharp.md b/specification/commerce/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..505ce7731015
--- /dev/null
+++ b/specification/commerce/resource-manager/readme.csharp.md
@@ -0,0 +1,35 @@
+# C# Compute
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Commerce.
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+## Common C# settings
+
+## 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: 2
+ clear-output-folder: true
+```
+
+### Profile: hybrid_2020_09_01
+
+These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line.
+
+``` yaml $(csharp-profile)=='hybrid_2020_09_01'
+namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Commerce
+output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Commerce/Management.Commerce/Generated
+
+batch:
+ - tag: profile-hybrid-2020-09-01
+```
\ No newline at end of file
diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md
index 1726ab907cca..ac7b98eabc54 100644
--- a/specification/commerce/resource-manager/readme.md
+++ b/specification/commerce/resource-manager/readme.md
@@ -39,6 +39,15 @@ input-file:
- Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
```
+### Tag: profile-hybrid-2020-09-01
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01'
+input-file:
+- Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
+```
+
---
# Code Generation
@@ -51,6 +60,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-commerce
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -58,6 +69,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_commerce']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js commerce/resource-manager
```
@@ -76,16 +90,29 @@ python:
namespace: azure.mgmt.commerce
package-name: azure-mgmt-commerce
clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2015-06-preview
+```
+
+### Tag: package-2015-06-preview and python
+
+These settings apply only when `--tag=package-2015-06-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2015-06-preview' && $(python)
+namespace: azure.mgmt.commerce.v2015_06_01_preview
+output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce
+ namespace: azure.mgmt.commerce.v2015_06_01_preview
+ output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
```
## Go
@@ -128,27 +155,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.Commerce/preview/2015-06-01-preview/commerce.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/common-types/resource-management/v1/types.json b/specification/common-types/resource-management/v1/types.json
index 7415ea29529d..765dd32c358d 100644
--- a/specification/common-types/resource-management/v1/types.json
+++ b/specification/common-types/resource-management/v1/types.json
@@ -7,11 +7,13 @@
"paths": {},
"definitions": {
"Resource": {
+ "title": "Resource",
+ "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
"properties": {
"id": {
"readOnly": true,
"type": "string",
- "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
"readOnly": true,
@@ -21,14 +23,15 @@
"type": {
"readOnly": true,
"type": "string",
- "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
}
},
"x-ms-azure-resource": true
},
"AzureEntityResource": {
"x-ms-client-name": "AzureEntityResource",
- "description": "The resource model definition for a Azure Resource Manager resource with an etag.",
+ "title": "Entity Resource",
+ "description": "The resource model definition for an Azure Resource Manager resource with an etag.",
"properties": {
"etag": {
"type": "string",
@@ -43,7 +46,8 @@
]
},
"TrackedResource": {
- "description": "The resource model definition for a ARM tracked top level resource",
+ "title": "Tracked Resource",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
"properties": {
"tags": {
"type": "object",
@@ -76,7 +80,8 @@
]
},
"ProxyResource": {
- "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "title": "Proxy Resource",
+ "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -92,7 +97,7 @@
"x-ms-mutability": [
"read"
],
- "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
"readOnly": true,
@@ -105,7 +110,7 @@
"x-ms-mutability": [
"read"
],
- "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.."
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
},
"location": {
"type": "string",
@@ -270,6 +275,8 @@
]
},
"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.)",
"properties": {
"code": {
"readOnly": true,
@@ -302,8 +309,7 @@
},
"description": "The error additional info."
}
- },
- "description": "The resource management error response."
+ }
},
"ErrorAdditionalInfo": {
"properties": {
@@ -320,6 +326,92 @@
},
"description": "The resource management error additional info."
},
+ "Operation": {
+ "title": "REST API Operation",
+ "description": "Details of a REST API operation, returned from the Resource Provider Operations API",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "display": {
+ "description": "Localized display information for this particular operation.",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "origin": {
+ "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "user",
+ "system",
+ "user,system"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ }
+ },
+ "actionType": {
+ "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the resource provider",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ }
+ },
"locationData": {
"description": "Metadata pertaining to the geographic location of the resource.",
"type": "object",
@@ -429,7 +521,7 @@
"type": "string"
},
"identity": {
- "description": "The client id of the identity which will be used to access key vault.",
+ "description": "The client ID of the identity which will be used to access key vault.",
"type": "string"
}
}
diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json
index 7ee7093af3e8..049687613be5 100644
--- a/specification/common-types/resource-management/v2/types.json
+++ b/specification/common-types/resource-management/v2/types.json
@@ -7,11 +7,12 @@
"paths": {},
"definitions": {
"Resource": {
+ "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
"properties": {
"id": {
"readOnly": true,
"type": "string",
- "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
"readOnly": true,
@@ -21,14 +22,14 @@
"type": {
"readOnly": true,
"type": "string",
- "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
}
},
"x-ms-azure-resource": true
},
"AzureEntityResource": {
"x-ms-client-name": "AzureEntityResource",
- "description": "The resource model definition for a Azure Resource Manager resource with an etag.",
+ "description": "The resource model definition for an Azure Resource Manager resource with an etag.",
"properties": {
"etag": {
"type": "string",
@@ -43,7 +44,7 @@
]
},
"TrackedResource": {
- "description": "The resource model definition for a ARM tracked top level resource",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource",
"properties": {
"tags": {
"type": "object",
@@ -76,7 +77,7 @@
]
},
"ProxyResource": {
- "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -92,7 +93,7 @@
"x-ms-mutability": [
"read"
],
- "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
"readOnly": true,
@@ -105,7 +106,7 @@
"x-ms-mutability": [
"read"
],
- "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.."
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
},
"location": {
"type": "string",
@@ -122,7 +123,7 @@
"create",
"update"
],
- "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
+ "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
},
"kind": {
"type": "string",
@@ -206,7 +207,7 @@
"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."
+ "description": "If the SKU supports scale out/in then the capacity integer indicates the current scaling-factor of the resource. If scale out/in is not possible for the resource this may be omitted."
}
},
"required": [
@@ -269,47 +270,51 @@
"product"
]
},
+ "ErrorDetail": {
+ "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": {
+ "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": {
- "type": "object",
"description": "The error object.",
- "properties": {
- "code": {
- "readOnly": true,
- "type": "string",
- "description": "The error code."
- },
- "message": {
- "readOnly": true,
- "type": "string",
- "description": "The error message."
- },
- "target": {
- "readOnly": true,
- "type": "string",
- "description": "The error target."
- },
- "details": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "description": "The error details."
- },
- "additionalInfo": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorAdditionalInfo"
- },
- "description": "The error additional info."
- }
- }
+ "$ref": "#/definitions/ErrorDetail"
}
- },
- "description": "The resource management error response."
+ }
},
"ErrorAdditionalInfo": {
"properties": {
@@ -326,6 +331,91 @@
},
"description": "The resource management error additional info."
},
+ "Operation": {
+ "description": "Details of a REST API operation, returned from the Resource Provider Operations API",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "display": {
+ "description": "Localized display information for this particular operation.",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "origin": {
+ "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "user",
+ "system",
+ "user,system"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ }
+ },
+ "actionType": {
+ "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the resource provider",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ }
+ },
"locationData": {
"description": "Metadata pertaining to the geographic location of the resource.",
"type": "object",
@@ -435,7 +525,7 @@
"type": "string"
},
"identity": {
- "description": "The client id of the identity which will be used to access key vault.",
+ "description": "The client ID of the identity which will be used to access key vault.",
"type": "string"
}
}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json
new file mode 100644
index 000000000000..84d87cd2c9b0
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json
@@ -0,0 +1,2056 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Phone Number Administration Service",
+ "description": "Phone Number Administration Service",
+ "contact": {
+ "email": "acsdevexdisc@microsoft.com"
+ },
+ "version": "2020-07-20-preview1"
+ },
+ "paths": {
+ "/administration/phonenumbers/phonenumbers": {
+ "get": {
+ "tags": [
+ "AcquiredNumbers"
+ ],
+ "summary": "Gets the list of the acquired phone numbers.",
+ "operationId": "PhoneNumberAdministration_GetAllPhoneNumbers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "locale",
+ "description": "A language-locale pairing which will be used to localize the names of countries",
+ "type": "string",
+ "default": "en-US"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AcquiredPhoneNumbers"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "phoneNumbers"
+ },
+ "x-ms-examples": {
+ "List acquired phone numbers": {
+ "$ref": "./examples/GetAcquiredPhoneNumbersAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/countries/{countryCode}/areacodes": {
+ "post": {
+ "tags": [
+ "AreaCodes"
+ ],
+ "summary": "Gets a list of the supported area codes",
+ "operationId": "PhoneNumberAdministration_GetAllAreaCodes",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "locationType",
+ "description": "The type of location information required by the plan.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "countryCode",
+ "description": "The ISO 3166-2 country code",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "phonePlanId",
+ "description": "The plan id from which to search area codes.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Location options for when location type is selection.",
+ "schema": {
+ "$ref": "#/definitions/LocationOptionsQueries"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AreaCodes"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get area codes": {
+ "$ref": "./examples/GetAreaCodesAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/capabilities/{capabilitiesUpdateId}": {
+ "get": {
+ "tags": [
+ "Capabilities"
+ ],
+ "summary": "Get capabilities by capabilities update id.",
+ "operationId": "PhoneNumberAdministration_GetCapabilitiesUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "capabilitiesUpdateId",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/UpdatePhoneNumberCapabilitiesResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get number capabilities update": {
+ "$ref": "./examples/GetNumberCapabilitiesUpdateAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/capabilities": {
+ "post": {
+ "tags": [
+ "Capabilities"
+ ],
+ "summary": "Adds or removes phone number capabilities",
+ "operationId": "PhoneNumberAdministration_UpdateCapabilities",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/UpdateNumberCapabilitiesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/UpdateNumberCapabilitiesResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update number capabilities": {
+ "$ref": "./examples/UpdateNumberCapabilitiesAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/countries": {
+ "get": {
+ "tags": [
+ "Countries"
+ ],
+ "summary": "Gets a list of supported countries",
+ "operationId": "PhoneNumberAdministration_GetAllSupportedCountries",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "locale",
+ "description": "A language-locale pairing which will be used to localize the names of countries",
+ "type": "string",
+ "default": "en-US"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberCountries"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "countries"
+ },
+ "x-ms-examples": {
+ "Get countries": {
+ "$ref": "./examples/GetCountriesAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/numberconfiguration": {
+ "post": {
+ "tags": [
+ "NumberConfiguration"
+ ],
+ "summary": "Endpoint for getting number configurations",
+ "operationId": "PhoneNumberAdministration_GetNumberConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The phone number whose configuration is to be fetched",
+ "schema": {
+ "$ref": "#/definitions/NumberConfigurationPhoneNumber"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/NumberConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get number configuration for phone number": {
+ "$ref": "./examples/GetNumberConfigurationAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/numberconfiguration/configure": {
+ "patch": {
+ "tags": [
+ "NumberConfiguration"
+ ],
+ "summary": "Endpoint for configuring a pstn number",
+ "operationId": "PhoneNumberAdministration_ConfigureNumber",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Details of pstn number configuration of the given phoneNumber",
+ "schema": {
+ "$ref": "#/definitions/NumberConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configure phone number": {
+ "$ref": "./examples/ConfigurePhoneNumberAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/numberconfiguration/unconfigure": {
+ "patch": {
+ "tags": [
+ "NumberConfiguration"
+ ],
+ "summary": "Endpoint for unconfiguring a pstn number by removing the configuration",
+ "operationId": "PhoneNumberAdministration_UnconfigureNumber",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The phone number to un-configure",
+ "schema": {
+ "$ref": "#/definitions/NumberConfigurationPhoneNumber"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Unconfigure phone number": {
+ "$ref": "./examples/UnconfigurePhoneNumberAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/countries/{countryCode}/phoneplangroups": {
+ "get": {
+ "tags": [
+ "Plans"
+ ],
+ "summary": "Gets a list of phone plan groups for the given country",
+ "operationId": "PhoneNumberAdministration_GetPhonePlanGroups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "countryCode",
+ "description": "The ISO 3166-2 country code.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "locale",
+ "description": "A language-locale pairing which will be used to localize the names of countries",
+ "type": "string",
+ "default": "en-US"
+ },
+ {
+ "in": "query",
+ "name": "includeRateInformation",
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhonePlanGroups"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "phonePlanGroups"
+ },
+ "x-ms-examples": {
+ "Get plans": {
+ "$ref": "./examples/GetPhonePlanGroupsAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans": {
+ "get": {
+ "tags": [
+ "Plans"
+ ],
+ "summary": "Gets a list of phone plans for a phone plan group",
+ "operationId": "PhoneNumberAdministration_GetPhonePlans",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "countryCode",
+ "description": "The ISO 3166-2 country code.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "phonePlanGroupId",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "locale",
+ "description": "A language-locale pairing which will be used to localize the names of countries",
+ "type": "string",
+ "default": "en-US"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhonePlansResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "phonePlans"
+ },
+ "x-ms-examples": {
+ "Get plans": {
+ "$ref": "./examples/GetPhonePlansAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans/{phonePlanId}/locationoptions": {
+ "get": {
+ "tags": [
+ "Plans"
+ ],
+ "summary": "Gets a list of location options for a phone plan",
+ "operationId": "PhoneNumberAdministration_GetPhonePlanLocationOptions",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "countryCode",
+ "description": "The ISO 3166-2 country code.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "phonePlanGroupId",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "phonePlanId",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "locale",
+ "description": "A language-locale pairing which will be used to localize the names of countries",
+ "type": "string",
+ "default": "en-US"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LocationOptionsResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get plans": {
+ "$ref": "./examples/GetLocationOptionsAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/releases/{releaseId}": {
+ "get": {
+ "tags": [
+ "Release"
+ ],
+ "summary": "Gets a release by a release id",
+ "operationId": "PhoneNumberAdministration_GetReleaseById",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "releaseId",
+ "description": "Represents the release id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberRelease"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get release by id": {
+ "$ref": "./examples/GetReleaseByIdAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/releases": {
+ "post": {
+ "tags": [
+ "Release"
+ ],
+ "summary": "Creates a release for the given phone numbers",
+ "operationId": "PhoneNumberAdministration_ReleasePhoneNumbers",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Config api Release request",
+ "schema": {
+ "$ref": "#/definitions/ReleaseRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ReleaseResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get release": {
+ "$ref": "./examples/CreateReleaseAsync.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Release"
+ ],
+ "summary": "Gets a list of all releases",
+ "operationId": "PhoneNumberAdministration_GetAllReleases",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberEntities"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "entities"
+ },
+ "x-ms-examples": {
+ "Get all releases": {
+ "$ref": "./examples/GetAllReleasesAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/searches/{searchId}": {
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Get search by search id",
+ "operationId": "PhoneNumberAdministration_GetSearchById",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "searchId",
+ "description": "The search id to be searched for",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberSearch"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get search by search id": {
+ "$ref": "./examples/GetSearchByIdAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/searches": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Creates a phone number search",
+ "operationId": "PhoneNumberAdministration_CreateSearch",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Defines the search options",
+ "schema": {
+ "$ref": "#/definitions/CreateSearchOptions"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CreateSearchResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create search": {
+ "$ref": "./examples/CreateSearchAsync.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Gets a list of all searches",
+ "operationId": "PhoneNumberAdministration_GetAllSearches",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "take",
+ "description": "An optional parameter for how many entries to return, for pagination purposes.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberEntities"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "entities"
+ },
+ "x-ms-examples": {
+ "Get all searches": {
+ "$ref": "./examples/GetAllSearchesAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/searches/{searchId}/cancel": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Cancels the search. This means existing numbers in the search will be made available.",
+ "operationId": "PhoneNumberAdministration_CancelSearch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "searchId",
+ "description": "The search id to be canceled",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel phone number search": {
+ "$ref": "./examples/CancelSearchAsync.json"
+ }
+ }
+ }
+ },
+ "/administration/phonenumbers/searches/{searchId}/purchase": {
+ "post": {
+ "tags": [
+ "Search"
+ ],
+ "summary": "Purchases the phone number search.",
+ "operationId": "PhoneNumberAdministration_PurchaseSearch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "searchId",
+ "description": "The search id to be purchased",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Purchase phone number search": {
+ "$ref": "./examples/PurchaseSearchAsync.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AcquiredPhoneNumber": {
+ "description": "Represents an acquired phone number.",
+ "required": [
+ "acquiredCapabilities",
+ "availableCapabilities",
+ "phoneNumber"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumber": {
+ "description": "String of the E.164 format of the phone number",
+ "type": "string"
+ },
+ "acquiredCapabilities": {
+ "description": "The set of all acquired capabilities of the phone number.",
+ "type": "array",
+ "items": {
+ "description": "Represents the capabilities of a phone number.",
+ "enum": [
+ "UserAssignment",
+ "FirstPartyVoiceAppAssignment",
+ "ConferenceAssignment",
+ "P2PSmsEnabled",
+ "Geographic",
+ "NonGeographic",
+ "TollCalling",
+ "TollFreeCalling",
+ "Premium",
+ "P2PSmsCapable",
+ "A2PSmsCapable",
+ "A2PSmsEnabled",
+ "Calling",
+ "TollFree",
+ "FirstPartyAppAssignment",
+ "ThirdPartyAppAssignment",
+ "Azure",
+ "Office365",
+ "InboundCalling",
+ "OutboundCalling",
+ "InboundA2PSms",
+ "OutboundA2PSms",
+ "InboundP2PSms",
+ "OutboundP2PSms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capability",
+ "modelAsString": true
+ }
+ }
+ },
+ "availableCapabilities": {
+ "description": "The set of all available capabilities that can be acquired for this phone number.",
+ "type": "array",
+ "items": {
+ "description": "Represents the capabilities of a phone number.",
+ "enum": [
+ "UserAssignment",
+ "FirstPartyVoiceAppAssignment",
+ "ConferenceAssignment",
+ "P2PSmsEnabled",
+ "Geographic",
+ "NonGeographic",
+ "TollCalling",
+ "TollFreeCalling",
+ "Premium",
+ "P2PSmsCapable",
+ "A2PSmsCapable",
+ "A2PSmsEnabled",
+ "Calling",
+ "TollFree",
+ "FirstPartyAppAssignment",
+ "ThirdPartyAppAssignment",
+ "Azure",
+ "Office365",
+ "InboundCalling",
+ "OutboundCalling",
+ "InboundA2PSms",
+ "OutboundA2PSms",
+ "InboundP2PSms",
+ "OutboundP2PSms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capability",
+ "modelAsString": true
+ }
+ }
+ },
+ "assignmentStatus": {
+ "description": "The assignment status of the phone number. Conveys what type of entity the number is assigned to.",
+ "enum": [
+ "Unassigned",
+ "Unknown",
+ "UserAssigned",
+ "ConferenceAssigned",
+ "FirstPartyAppAssigned",
+ "ThirdPartyAppAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AssignmentStatus",
+ "modelAsString": true
+ }
+ },
+ "placeName": {
+ "description": "The name of the place of the phone number.",
+ "type": "string"
+ },
+ "activationState": {
+ "description": "The activation state of the phone number. Can be \"Activated\", \"AssignmentPending\", \"AssignmentFailed\", \"UpdatePending\", \"UpdateFailed\"",
+ "enum": [
+ "Activated",
+ "AssignmentPending",
+ "AssignmentFailed",
+ "UpdatePending",
+ "UpdateFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ActivationState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AcquiredPhoneNumbers": {
+ "description": "A wrapper of list of phone numbers",
+ "type": "object",
+ "properties": {
+ "phoneNumbers": {
+ "description": "Represents a list of phone numbers",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AcquiredPhoneNumber"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorBody": {
+ "description": "Represents a service error response body.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code in the error response.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message in the error response.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Represents a service error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorBody"
+ }
+ }
+ },
+ "LocationOptionsQuery": {
+ "description": "Represents a location options parameter, used for fetching area codes.",
+ "type": "object",
+ "properties": {
+ "labelId": {
+ "description": "Represents the location option label id, returned from the GetLocationOptions API.",
+ "type": "string"
+ },
+ "optionsValue": {
+ "description": "Represents the location options value, returned from the GetLocationOptions API.",
+ "type": "string"
+ }
+ }
+ },
+ "LocationOptionsQueries": {
+ "description": "Represents a list of location option queries, used for fetching area codes.",
+ "type": "object",
+ "properties": {
+ "locationOptions": {
+ "description": "Represents the underlying list of countries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationOptionsQuery"
+ }
+ }
+ }
+ },
+ "AreaCodes": {
+ "description": "Represents a list of area codes.",
+ "type": "object",
+ "properties": {
+ "primaryAreaCodes": {
+ "description": "Represents the list of primary area codes.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "secondaryAreaCodes": {
+ "description": "Represents the list of secondary area codes.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "NumberUpdateCapabilities": {
+ "description": "Represents an individual number capabilities update request",
+ "type": "object",
+ "properties": {
+ "add": {
+ "description": "Capabilities to be added to a phone number",
+ "type": "array",
+ "items": {
+ "description": "Represents the capabilities of a phone number.",
+ "enum": [
+ "UserAssignment",
+ "FirstPartyVoiceAppAssignment",
+ "ConferenceAssignment",
+ "P2PSmsEnabled",
+ "Geographic",
+ "NonGeographic",
+ "TollCalling",
+ "TollFreeCalling",
+ "Premium",
+ "P2PSmsCapable",
+ "A2PSmsCapable",
+ "A2PSmsEnabled",
+ "Calling",
+ "TollFree",
+ "FirstPartyAppAssignment",
+ "ThirdPartyAppAssignment",
+ "Azure",
+ "Office365",
+ "InboundCalling",
+ "OutboundCalling",
+ "InboundA2PSms",
+ "OutboundA2PSms",
+ "InboundP2PSms",
+ "OutboundP2PSms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capability",
+ "modelAsString": true
+ }
+ }
+ },
+ "remove": {
+ "description": "Capabilities to be removed from a phone number",
+ "type": "array",
+ "items": {
+ "description": "Represents the capabilities of a phone number.",
+ "enum": [
+ "UserAssignment",
+ "FirstPartyVoiceAppAssignment",
+ "ConferenceAssignment",
+ "P2PSmsEnabled",
+ "Geographic",
+ "NonGeographic",
+ "TollCalling",
+ "TollFreeCalling",
+ "Premium",
+ "P2PSmsCapable",
+ "A2PSmsCapable",
+ "A2PSmsEnabled",
+ "Calling",
+ "TollFree",
+ "FirstPartyAppAssignment",
+ "ThirdPartyAppAssignment",
+ "Azure",
+ "Office365",
+ "InboundCalling",
+ "OutboundCalling",
+ "InboundA2PSms",
+ "OutboundA2PSms",
+ "InboundP2PSms",
+ "OutboundP2PSms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capability",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "UpdatePhoneNumberCapabilitiesResponse": {
+ "description": "Response for getting a phone number update capabilities.",
+ "type": "object",
+ "properties": {
+ "capabilitiesUpdateId": {
+ "description": "The id of the phone number capabilities update",
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The time the capabilities update was created",
+ "type": "string"
+ },
+ "capabilitiesUpdateStatus": {
+ "description": "Status of the capabilities update.",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Complete",
+ "Error"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CapabilitiesUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "phoneNumberCapabilitiesUpdates": {
+ "description": "The capabilities update for each of a set of phone numbers.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/NumberUpdateCapabilities"
+ }
+ }
+ }
+ },
+ "UpdateNumberCapabilitiesRequest": {
+ "description": "Represents a numbers capabilities update request",
+ "required": [
+ "phoneNumberCapabilitiesUpdate"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumberCapabilitiesUpdate": {
+ "description": "The map of phone numbers to the capabilities update applied to the phone number.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/NumberUpdateCapabilities"
+ }
+ }
+ }
+ },
+ "UpdateNumberCapabilitiesResponse": {
+ "description": "Represents a number capability update response.",
+ "required": [
+ "capabilitiesUpdateId"
+ ],
+ "type": "object",
+ "properties": {
+ "capabilitiesUpdateId": {
+ "description": "The capabilities id",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberCountry": {
+ "description": "Represents a country.",
+ "required": [
+ "countryCode",
+ "localizedName"
+ ],
+ "type": "object",
+ "properties": {
+ "localizedName": {
+ "description": "Represents the name of the country.",
+ "type": "string"
+ },
+ "countryCode": {
+ "description": "Represents the abbreviated name of the country.",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberCountries": {
+ "description": "Represents a wrapper around a list of countries.",
+ "type": "object",
+ "properties": {
+ "countries": {
+ "description": "Represents the underlying list of countries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhoneNumberCountry"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "NumberConfigurationPhoneNumber": {
+ "description": "The phone number wrapper representing a number configuration request",
+ "required": [
+ "phoneNumber"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumber": {
+ "description": "The phone number in the E.164 format",
+ "type": "string"
+ }
+ }
+ },
+ "PstnConfiguration": {
+ "description": "Definition for pstn number configuration",
+ "required": [
+ "callbackUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "callbackUrl": {
+ "description": "The webhook URL on the phone number configuration.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application id of the application to which to configure",
+ "type": "string"
+ }
+ }
+ },
+ "NumberConfigurationResponse": {
+ "description": "Definition for number configuration",
+ "required": [
+ "pstnConfiguration"
+ ],
+ "type": "object",
+ "properties": {
+ "pstnConfiguration": {
+ "$ref": "#/definitions/PstnConfiguration"
+ }
+ }
+ },
+ "NumberConfiguration": {
+ "description": "Definition for number configuration",
+ "required": [
+ "phoneNumber",
+ "pstnConfiguration"
+ ],
+ "type": "object",
+ "properties": {
+ "pstnConfiguration": {
+ "$ref": "#/definitions/PstnConfiguration"
+ },
+ "phoneNumber": {
+ "description": "The phone number to configure",
+ "type": "string"
+ }
+ }
+ },
+ "CarrierDetails": {
+ "description": "Represents carrier details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of carrier details",
+ "type": "string"
+ },
+ "localizedName": {
+ "description": "Display name of carrier details",
+ "type": "string"
+ }
+ }
+ },
+ "RateInformation": {
+ "description": "Represents a wrapper of rate information",
+ "type": "object",
+ "properties": {
+ "monthlyRate": {
+ "format": "double",
+ "description": "The monthly rate of a phone plan group",
+ "type": "number"
+ },
+ "currencyType": {
+ "description": "The currency of a phone plan group",
+ "enum": [
+ "USD"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CurrencyType",
+ "modelAsString": true
+ }
+ },
+ "rateErrorMessage": {
+ "description": "The error code of a phone plan group",
+ "type": "string"
+ }
+ }
+ },
+ "PhonePlanGroup": {
+ "description": "Represents a plan group.",
+ "required": [
+ "localizedDescription",
+ "localizedName",
+ "phonePlanGroupId"
+ ],
+ "type": "object",
+ "properties": {
+ "phonePlanGroupId": {
+ "description": "The id of the plan group",
+ "type": "string"
+ },
+ "phoneNumberType": {
+ "description": "The phone number type of the plan group",
+ "enum": [
+ "Unknown",
+ "Geographic",
+ "TollFree",
+ "Indirect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberType",
+ "modelAsString": true
+ }
+ },
+ "localizedName": {
+ "description": "The name of the plan group.",
+ "type": "string"
+ },
+ "localizedDescription": {
+ "description": "The description of the plan group.",
+ "type": "string"
+ },
+ "carrierDetails": {
+ "$ref": "#/definitions/CarrierDetails"
+ },
+ "rateInformation": {
+ "$ref": "#/definitions/RateInformation"
+ }
+ }
+ },
+ "PhonePlanGroups": {
+ "description": "Represents a wrapper of list of plan groups.",
+ "type": "object",
+ "properties": {
+ "phonePlanGroups": {
+ "description": "The underlying list of phone plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhonePlanGroup"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "PhonePlan": {
+ "description": "Represents a phone plan.",
+ "required": [
+ "localizedName",
+ "locationType",
+ "phonePlanId"
+ ],
+ "type": "object",
+ "properties": {
+ "phonePlanId": {
+ "description": "The phone plan id",
+ "type": "string"
+ },
+ "localizedName": {
+ "description": "The name of the phone plan",
+ "type": "string"
+ },
+ "locationType": {
+ "description": "The location type of the phone plan.",
+ "enum": [
+ "CivicAddress",
+ "NotRequired",
+ "Selection"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LocationType",
+ "modelAsString": true
+ }
+ },
+ "areaCodes": {
+ "description": "The list of available area codes in the phone plan.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "capabilities": {
+ "description": "Capabilities of the phone plan.",
+ "type": "array",
+ "items": {
+ "description": "Represents the capabilities of a phone number.",
+ "enum": [
+ "UserAssignment",
+ "FirstPartyVoiceAppAssignment",
+ "ConferenceAssignment",
+ "P2PSmsEnabled",
+ "Geographic",
+ "NonGeographic",
+ "TollCalling",
+ "TollFreeCalling",
+ "Premium",
+ "P2PSmsCapable",
+ "A2PSmsCapable",
+ "A2PSmsEnabled",
+ "Calling",
+ "TollFree",
+ "FirstPartyAppAssignment",
+ "ThirdPartyAppAssignment",
+ "Azure",
+ "Office365",
+ "InboundCalling",
+ "OutboundCalling",
+ "InboundA2PSms",
+ "OutboundA2PSms",
+ "InboundP2PSms",
+ "OutboundP2PSms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capability",
+ "modelAsString": true
+ }
+ }
+ },
+ "maximumSearchSize": {
+ "format": "int32",
+ "description": "The maximum number of phone numbers one can acquire in a search in this phone plan.",
+ "type": "integer"
+ }
+ }
+ },
+ "PhonePlansResponse": {
+ "description": "Represents a wrapper around a list of countries.",
+ "type": "object",
+ "properties": {
+ "phonePlans": {
+ "description": "Represents the underlying list of phone plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhonePlan"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "LocationOptionsDetails": {
+ "description": "Represents location options details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the location options",
+ "type": "string"
+ },
+ "value": {
+ "description": "The abbreviated name of the location options",
+ "type": "string"
+ },
+ "locationOptions": {
+ "description": "The underlying location options",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationOptions"
+ }
+ }
+ }
+ },
+ "LocationOptions": {
+ "description": "Represents a location options.",
+ "type": "object",
+ "properties": {
+ "labelId": {
+ "description": "The label id of the location.",
+ "type": "string"
+ },
+ "labelName": {
+ "description": "The display name of the location.",
+ "type": "string"
+ },
+ "options": {
+ "description": "The underlying location option details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationOptionsDetails"
+ }
+ }
+ }
+ },
+ "LocationOptionsResponse": {
+ "description": "Represents a wrapper around a list of location options.",
+ "type": "object",
+ "properties": {
+ "locationOptions": {
+ "$ref": "#/definitions/LocationOptions"
+ }
+ }
+ },
+ "PhoneNumberReleaseDetails": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The release status of a phone number.",
+ "enum": [
+ "Pending",
+ "Success",
+ "Error",
+ "InProgress"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberReleaseStatus",
+ "modelAsString": true
+ }
+ },
+ "errorCode": {
+ "format": "int32",
+ "description": "The error code in the case the status is error.",
+ "type": "integer"
+ }
+ }
+ },
+ "PhoneNumberRelease": {
+ "description": "Represents a release",
+ "type": "object",
+ "properties": {
+ "releaseId": {
+ "description": "The id of the release.",
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The creation time of the release.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The release status.",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Complete",
+ "Failed",
+ "Expired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ReleaseStatus",
+ "modelAsString": true
+ }
+ },
+ "errorMessage": {
+ "description": "The underlying error message of a release.",
+ "type": "string"
+ },
+ "phoneNumberReleaseStatusDetails": {
+ "description": "The list of phone numbers in the release, mapped to its individual statuses.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/PhoneNumberReleaseDetails"
+ }
+ }
+ }
+ },
+ "ReleaseRequest": {
+ "description": "Represents a release request.",
+ "required": [
+ "phoneNumbers"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumbers": {
+ "description": "The list of phone numbers in the release request.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReleaseResponse": {
+ "description": "Represents a release response.",
+ "required": [
+ "releaseId"
+ ],
+ "type": "object",
+ "properties": {
+ "releaseId": {
+ "description": "The release id of a created release.",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberEntity": {
+ "description": "Represents a phone number entity, as part of the response when calling get all searches or releases.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the entity. It is the search id of a search. It is the release id of a release.",
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "Date and time the entity is created.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Name of the entity.",
+ "type": "string"
+ },
+ "quantity": {
+ "format": "int32",
+ "description": "Quantity of requested phone numbers in the entity.",
+ "type": "integer"
+ },
+ "quantityObtained": {
+ "format": "int32",
+ "description": "Quantity of acquired phone numbers in the entity.",
+ "type": "integer"
+ },
+ "status": {
+ "description": "Status of the entity.",
+ "type": "string"
+ },
+ "focDate": {
+ "format": "date-time",
+ "description": "The Firm Order Confirmation date of the phone number entity.",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberEntities": {
+ "description": "Represents a list of searches or releases, as part of the response when fetching all searches or releases.",
+ "type": "object",
+ "properties": {
+ "entities": {
+ "description": "The underlying list of entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PhoneNumberEntity"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberSearch": {
+ "description": "Represents a phone number search",
+ "type": "object",
+ "properties": {
+ "searchId": {
+ "description": "The id of the search.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The name of the search.",
+ "type": "string"
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The creation time of the search.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the search.",
+ "type": "string"
+ },
+ "phonePlanIds": {
+ "description": "The phone plan ids of the search.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "areaCode": {
+ "description": "The area code of the search.",
+ "type": "string"
+ },
+ "quantity": {
+ "format": "int32",
+ "description": "The quantity of phone numbers in the search.",
+ "type": "integer"
+ },
+ "locationOptions": {
+ "description": "The location options of the search.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationOptionsDetails"
+ }
+ },
+ "status": {
+ "description": "The status of the search.",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Reserved",
+ "Expired",
+ "Expiring",
+ "Completing",
+ "Refreshing",
+ "Success",
+ "Manual",
+ "Cancelled",
+ "Cancelling",
+ "Error",
+ "PurchasePending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SearchStatus",
+ "modelAsString": true
+ }
+ },
+ "phoneNumbers": {
+ "description": "The list of phone numbers in the search, in the case the status is reserved or success.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "reservationExpiryDate": {
+ "format": "date-time",
+ "description": "The date that search expires and the numbers become available.",
+ "type": "string"
+ },
+ "errorCode": {
+ "format": "int32",
+ "description": "The error code of the search.",
+ "type": "integer"
+ }
+ }
+ },
+ "CreateSearchOptions": {
+ "description": "Represents a search creation option.",
+ "required": [
+ "areaCode",
+ "description",
+ "displayName",
+ "phonePlanIds"
+ ],
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Display name of the search.",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the search.",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "phonePlanIds": {
+ "description": "The plan subtype ids from which to create the search.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "areaCode": {
+ "description": "The area code from which to create the search.",
+ "type": "string"
+ },
+ "quantity": {
+ "format": "int32",
+ "description": "The quantity of phone numbers to request.",
+ "maximum": 2147483647,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "locationOptions": {
+ "description": "The location options of the search.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationOptionsDetails"
+ }
+ }
+ }
+ },
+ "CreateSearchResponse": {
+ "description": "Represents a search creation response.",
+ "required": [
+ "searchId"
+ ],
+ "type": "object",
+ "properties": {
+ "searchId": {
+ "description": "The search id of the search that was created.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke",
+ "required": true,
+ "type": "string"
+ },
+ "Endpoint": {
+ "in": "path",
+ "name": "endpoint",
+ "description": "The endpoint of the Azure Communication resource.",
+ "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/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json
new file mode 100644
index 000000000000..0d393b557bc5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json
new file mode 100644
index 000000000000..d95a9053bddb
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "phoneNumber": "+11234567890",
+ "pstnConfiguration": {
+ "callbackUrl": "www.callback.com",
+ "applicationId": "abc123"
+ }
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json
new file mode 100644
index 000000000000..b1c75ce1facd
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "phoneNumbers": [
+ "+11234567890"
+ ]
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json
new file mode 100644
index 000000000000..2e253c17abc1
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "displayName": "Name",
+ "description": "Search Description",
+ "phonePlanIds": [
+ "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ ],
+ "areaCode": "425",
+ "quantity": 2,
+ "locationOptions": [
+ {
+ "name": "state",
+ "value": "WA"
+ }
+ ]
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "searchId": "0cc077cd-5337-7msf-964e-560b1e06c63e"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json
new file mode 100644
index 000000000000..3ad4280fe83a
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "locale": "en-us"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "phoneNumbers": [
+ {
+ "phoneNumber": "+11234567890",
+ "acquiredCapabilities": [
+ "FirstPartyAppAssignment"
+ ],
+ "availableCapabilities": [
+ "FirstPartyAppAssignment",
+ "UserAssignment"
+ ],
+ "assignmentStatus": "Unassigned",
+ "placeName": "Toll-Free, United States",
+ "activationState": "Activated"
+ },
+ {
+ "phoneNumber": "+18003456789",
+ "acquiredCapabilities": [
+ "FirstPartyAppAssignment"
+ ],
+ "availableCapabilities": [
+ "FirstPartyAppAssignment",
+ "UserAssignment"
+ ],
+ "assignmentStatus": "Unassigned",
+ "placeName": "Toll-Free, United States",
+ "activationState": "Activated"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json
new file mode 100644
index 000000000000..29a8ddb4979e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "entities": [
+ {
+ "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
+ "displayName": "Numbers for Vancouver Office",
+ "createdAt": "2020-06-18T17:11:52.5005818+00:00",
+ "quantity": 1,
+ "quantityObtained": 1,
+ "status": "completed",
+ "focDate": "2020-06-18T17:11:52.5005818+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json
new file mode 100644
index 000000000000..29a8ddb4979e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "entities": [
+ {
+ "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
+ "displayName": "Numbers for Vancouver Office",
+ "createdAt": "2020-06-18T17:11:52.5005818+00:00",
+ "quantity": 1,
+ "quantityObtained": 1,
+ "status": "completed",
+ "focDate": "2020-06-18T17:11:52.5005818+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json
new file mode 100644
index 000000000000..1288173209cc
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "locationType": "Selection",
+ "countryCode": "CA",
+ "phonePlanId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "primaryAreaCodes": [
+ "236",
+ "604",
+ "778"
+ ],
+ "secondaryAreaCodes": []
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json
new file mode 100644
index 000000000000..fe4dbb0b999f
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "locale": "en-us"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "countries": [
+ {
+ "localizedName": "Australia",
+ "countryCode": "AU"
+ },
+ {
+ "localizedName": "Japan",
+ "countryCode": "JP"
+ },
+ {
+ "localizedName": "United States",
+ "countryCode": "US"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json
new file mode 100644
index 000000000000..b551fa840089
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "countryCode": "US",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c",
+ "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "locationOptions": {
+ "labelId": "state",
+ "labelName": "State",
+ "options": [
+ {
+ "name": "AK",
+ "value": "AK",
+ "locationOptions": [
+ {
+ "labelId": "city",
+ "labelName": "City",
+ "options": [
+ {
+ "name": "Anchorage",
+ "value": "NOAM-US-AK-AN"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "AL",
+ "value": "AL",
+ "locationOptions": [
+ {
+ "labelId": "city",
+ "labelName": "City",
+ "options": [
+ {
+ "name": "Birmingham",
+ "value": "NOAM-US-AL-BI"
+ },
+ {
+ "name": "Huntsville",
+ "value": "NOAM-US-AL-HN"
+ },
+ {
+ "name": "Mobile",
+ "value": "NOAM-US-AL-MO"
+ },
+ {
+ "name": "Montgomery",
+ "value": "NOAM-US-AL-MN"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json
new file mode 100644
index 000000000000..11949cff84a3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
+ "createdAt": "2020-06-18T17:11:52.5005818+00:00",
+ "capabilitiesUpdateStatus": "Complete",
+ "phoneNumberCapabilitiesUpdates": {
+ "12345878991": {
+ "add": [],
+ "remove": [
+ "InboundA2PSms",
+ "OutboundA2PSms"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json
new file mode 100644
index 000000000000..573d697b2934
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "phoneNumber": "+11234567890"
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "pstnConfiguration": {
+ "callbackUrl": "www.callback.com",
+ "applicationId": "abc123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json
new file mode 100644
index 000000000000..f418ffd2ff23
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "countryCode": "US",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "locale": "en-us"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "phonePlanGroups": [
+ {
+ "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c",
+ "phoneNumberType": "Geographic",
+ "localizedName": "Geographic",
+ "localizedDescription": "These are Toll numbers",
+ "rateInformation": {
+ "monthlyRate": 2.0,
+ "currencyType": "USD"
+ }
+ },
+ {
+ "phonePlanGroupId": "d47a0cdc-8dc1-4e82-a29b-39067f7fc317",
+ "phoneNumberType": "TollFree",
+ "localizedName": "TollFree",
+ "localizedDescription": "These are toll free numbers used by Azure resources.",
+ "rateInformation": {
+ "monthlyRate": 1.0,
+ "currencyType": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json
new file mode 100644
index 000000000000..88ed446f84e8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "countryCode": "US",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "phonePlans": [
+ {
+ "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a",
+ "localizedName": "Outbound Only PSTN - Geographic",
+ "locationType": "Selection",
+ "capabilities": [
+ "Azure",
+ "OutboundCalling",
+ "ThirdPartyAppAssignment",
+ "Geographic"
+ ],
+ "maximumSearchSize": 100
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json
new file mode 100644
index 000000000000..10813ab35c36
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json
new file mode 100644
index 000000000000..a0e892008493
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
+ "displayName": "Numbers for Vancouver Office",
+ "createdAt": "2020-06-18T17:11:52.5005818+00:00",
+ "description": "Get some new numbers for our office in Vancouver",
+ "phonePlanIds": [
+ "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ ],
+ "areaCode": "604",
+ "quantity": 1,
+ "locationOptions": [],
+ "status": "completed",
+ "phoneNumbers": []
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json
new file mode 100644
index 000000000000..0d393b557bc5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://resourcename.communications.azure.net/",
+ "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json
new file mode 100644
index 000000000000..e8da11cf3109
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "phoneNumber": "+11234567890"
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json
new file mode 100644
index 000000000000..612b5f2b2740
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview1",
+ "body": {
+ "phoneNumberCapabilitiesUpdate": {
+ "12345878981": {
+ "add": [
+ "InboundA2PSms",
+ "OutboundA2PSms"
+ ],
+ "remove": []
+ },
+ "12345878991": {
+ "add": [],
+ "remove": [
+ "InboundA2PSms",
+ "OutboundA2PSms"
+ ]
+ }
+ }
+ },
+ "endpoint": "https://resourcename.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "capabilitiesUpdateId": "0cc077cd-5337-7msf-964e-560b1e06c63e"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json
new file mode 100644
index 000000000000..73e83b57a414
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json
@@ -0,0 +1,1617 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "contact": {
+ "email": "acsdevexdisc@microsoft.com"
+ },
+ "version": "2020-09-21-preview2"
+ },
+ "paths": {
+ "/chat/threads/{chatThreadId}/readreceipts": {
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets read receipts for a thread.",
+ "operationId": "ListChatReadReceipts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get the read receipts for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the requested `ReadReceipt` resources.",
+ "schema": {
+ "$ref": "#/definitions/ReadReceiptsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread read receipts": {
+ "$ref": "./examples/Conversations_ListChatReadReceipts.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ },
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Sends a read receipt event to a thread, on behalf of a user.",
+ "operationId": "SendChatReadReceipt",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to send the read receipt event to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Read receipt details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendReadReceiptRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send read receipt": {
+ "$ref": "./examples/Conversations_SendChatReadReceipt.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Sends a message to a thread.",
+ "operationId": "SendChatMessage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to send the message to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Details of the message to send.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Message sent, the `Location` header contains the URL for the newly sent message.",
+ "schema": {
+ "$ref": "#/definitions/SendChatMessageResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send Message": {
+ "$ref": "./examples/Messages_SendChatMessage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a list of messages from a thread.",
+ "operationId": "ListChatMessages",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id of the message.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of messages to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "startTime",
+ "description": "The earliest point in time to get messages up to. The timestamp should be in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ChatMessagesCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get messages with pagination (max page size)": {
+ "$ref": "./examples/Messages_ListChatMessagesWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages/{chatMessageId}": {
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a message by id.",
+ "operationId": "GetChatMessage",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a `Message` resource.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Message": {
+ "$ref": "./examples/Messages_GetChatMessage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Updates a message.",
+ "operationId": "UpdateChatMessage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Details of the request to update the message.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Message is successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update message content": {
+ "$ref": "./examples/Messages_UpdateChatMessage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Deletes a message.",
+ "operationId": "DeleteChatMessage",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete message": {
+ "$ref": "./examples/Messages_DeleteChatMessage.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/typing": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Posts a typing event to a thread, on behalf of a user.",
+ "operationId": "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/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/members": {
+ "get": {
+ "tags": [
+ "ThreadMembers"
+ ],
+ "summary": "Gets the members of a thread.",
+ "operationId": "ListChatThreadMembers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get members for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the members of a thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadMembersCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread members": {
+ "$ref": "./examples/ThreadMembers_ListChatThreadMembers.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ },
+ "post": {
+ "tags": [
+ "ThreadMembers"
+ ],
+ "summary": "Adds thread members to a thread. If members already exist, no change occurs.",
+ "operationId": "AddChatThreadMembers",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to add members to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Thread members to be added to the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddChatThreadMembersRequest"
+ }
+ }
+ ],
+ "responses": {
+ "207": {
+ "description": "Multi status response, containing the status for the thread member addition operations."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Add thread members": {
+ "$ref": "./examples/ThreadMembers_AddChatThreadMembers.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/members/{chatMemberId}": {
+ "delete": {
+ "tags": [
+ "ThreadMembers"
+ ],
+ "summary": "Remove a member from a thread.",
+ "operationId": "RemoveChatThreadMember",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the member from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMemberId",
+ "description": "Id of the thread member to remove from the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Remove thread member": {
+ "$ref": "./examples/ThreadMembers_RemoveChatThreadMember.json"
+ }
+ }
+ }
+ },
+ "/chat/threads": {
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Creates a chat thread.",
+ "operationId": "CreateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload for creating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "207": {
+ "description": "Multi status response, containing the status for the thread creation and the thread member addition operations.\r\nIf the thread was created successfully, `Location` header would contain the URL for the newly created thread.",
+ "schema": {
+ "$ref": "#/definitions/MultiStatusResponse"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Create chat thread": {
+ "$ref": "./examples/Threads_CreateChatThread.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets the list of chat threads of a user.",
+ "operationId": "ListChatThreads",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat threads returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "startTime",
+ "description": "The earliest point in time to get chat threads up to. The timestamp should be in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a `GetThreadsResponse` resource.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadsInfoCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get threads with pagination (Max Page Size)": {
+ "$ref": "./examples/Threads_ListChatThreadsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}": {
+ "patch": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Updates a thread's properties.",
+ "operationId": "UpdateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The id of the thread to update.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload for updating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Thread was successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread.",
+ "operationId": "GetChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a `Thread` resource.",
+ "schema": {
+ "$ref": "#/definitions/ChatThread"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get chat thread": {
+ "$ref": "./examples/Threads_GetChatThread.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Deletes a thread.",
+ "operationId": "DeleteChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to delete.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReadReceipt": {
+ "description": "A read receipt indicates the time a chat message was read by a recipient.",
+ "type": "object",
+ "properties": {
+ "senderId": {
+ "description": "Read receipt sender id.",
+ "type": "string",
+ "readOnly": true,
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "chatMessageId": {
+ "description": "Id for the chat message that has been read. This id is generated by the server.",
+ "type": "string",
+ "readOnly": true,
+ "example": "1591137790240"
+ },
+ "readOn": {
+ "format": "date-time",
+ "description": "Read receipt timestamp. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ReadReceiptsCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of read receipts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadReceipt"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "If there are more read receipts that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "type": "string",
+ "readOnly": true
+ },
+ "innerErrors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SendReadReceiptRequest": {
+ "description": "Request payload for sending a read receipt.",
+ "required": [
+ "chatMessageId"
+ ],
+ "type": "object",
+ "properties": {
+ "chatMessageId": {
+ "description": "Id of the latest chat message read by the user.",
+ "type": "string",
+ "example": "1592435762364"
+ }
+ }
+ },
+ "ChatMessagePriority": {
+ "description": "The chat message priority.",
+ "enum": [
+ "Normal",
+ "High"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatMessagePriority",
+ "modelAsString": true
+ }
+ },
+ "SendChatMessageRequest": {
+ "description": "Details of the message to send.",
+ "required": [
+ "content"
+ ],
+ "type": "object",
+ "properties": {
+ "priority": {
+ "$ref": "#/definitions/ChatMessagePriority"
+ },
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together."
+ },
+ "senderDisplayName": {
+ "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Bob Admin"
+ }
+ }
+ },
+ "SendChatMessageResult": {
+ "description": "Result of the send message operation.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated message id.",
+ "type": "string",
+ "readOnly": true,
+ "example": "123456789"
+ }
+ }
+ },
+ "ChatMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat message. This id is server generated.",
+ "type": "string",
+ "readOnly": true,
+ "example": "123456789"
+ },
+ "type": {
+ "description": "Type of the chat message.\r\n \r\nPossible values:\r\n - Text\r\n - ThreadActivity/TopicUpdate\r\n - ThreadActivity/AddMember\r\n - ThreadActivity/DeleteMember",
+ "type": "string",
+ "example": "Text"
+ },
+ "priority": {
+ "$ref": "#/definitions/ChatMessagePriority"
+ },
+ "version": {
+ "description": "Version of the chat message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "content": {
+ "description": "Content of the chat message.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together."
+ },
+ "senderDisplayName": {
+ "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Jane"
+ },
+ "createdOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat message arrived at the server. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "senderId": {
+ "description": "The id of the chat message sender.",
+ "type": "string",
+ "readOnly": true,
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat message was deleted. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "editedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat message was edited. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessagesCollection": {
+ "description": "Collection of chat messages for a particular chat thread.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessage"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "If there are more chat messages that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatMessageRequest": {
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Let's go for lunch together."
+ },
+ "priority": {
+ "$ref": "#/definitions/ChatMessagePriority"
+ }
+ }
+ },
+ "ChatThreadMember": {
+ "description": "A member of the chat thread.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat thread member in the format `8:acs:ResourceId_AcsUserId`.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "displayName": {
+ "description": "Display name for the chat thread member.",
+ "type": "string",
+ "example": "Bob"
+ },
+ "shareHistoryTime": {
+ "format": "date-time",
+ "description": "Time from which the chat history is shared with the member. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadMembersCollection": {
+ "description": "Collection of thread members belong to a particular thread.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Chat thread members.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadMember"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AddChatThreadMembersRequest": {
+ "description": "Thread members to be added to the thread.",
+ "required": [
+ "members"
+ ],
+ "type": "object",
+ "properties": {
+ "members": {
+ "description": "Members to add to a chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadMember"
+ }
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "members",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "The chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "members": {
+ "description": "Members to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadMember"
+ }
+ }
+ }
+ },
+ "IndividualStatusResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifies the resource to which the individual status corresponds.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusCode": {
+ "format": "int32",
+ "description": "The status code of the resource operation.\r\n \r\nPossible values include:\r\n 200 for a successful update or delete,\r\n 201 for successful creation,\r\n 400 for a malformed input,\r\n 403 for lacking permission to execute the operation,\r\n 404 for resource not found.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message explaining why the operation failed for the resource identified by the key; null if the operation succeeded.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Identifies the type of the resource to which the individual status corresponds.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MultiStatusResponse": {
+ "type": "object",
+ "properties": {
+ "multipleStatus": {
+ "description": "The list of status information for each resource in the request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IndividualStatusResponse"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ChatThreadInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "readOnly": true,
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "isDeleted": {
+ "description": "Flag if a chat thread is soft deleted.",
+ "type": "boolean",
+ "example": false
+ },
+ "lastMessageReceivedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the last message arrived at the server. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadsInfoCollection": {
+ "description": "Collection of chat threads.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadInfo"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatThreadRequest": {
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ }
+ }
+ },
+ "ChatThread": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "readOnly": true,
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "createdOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was created. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "createdBy": {
+ "description": "Id of the chat thread owner.",
+ "type": "string",
+ "readOnly": true,
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "members": {
+ "description": "Chat thread members.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadMember"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Endpoint": {
+ "in": "path",
+ "name": "endpoint",
+ "description": "The endpoint of the Azure Communication resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "Authorization": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header",
+ "description": "An ACS (Azure Communication Services) user access token."
+ }
+ },
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json
new file mode 100644
index 000000000000..44d3ad9bd31e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "chatMessageId": "1591137790240",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c00a",
+ "chatMessageId": "1591768249318",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": null
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..45ab2f0680bb
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "body": {
+ "chatMessageId": "1591137790240"
+ }
+ },
+ "responses": {
+ "201": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..00551b5f9d65
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..70d7dacb2aac
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1591768249318",
+ "type": "Text",
+ "version": "1599016601134",
+ "priority": "Normal",
+ "content": "Let's head out for lunch in 15 minutes.",
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-10T05:50:49.3180000Z",
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..0323cbabc954
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1593107077690",
+ "type": "Text",
+ "priority": "Normal",
+ "version": "1593107077683",
+ "content": "So where should we get lunch from today?",
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ {
+ "id": "1593107077683",
+ "type": "Text",
+ "priority": "Normal",
+ "version": "1593107077683",
+ "content": "Let's use this chat to decide what to get for lunch today.",
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ {
+ "id": "1593107046498",
+ "type": "Text",
+ "priority": "Normal",
+ "version": "1593107046498",
+ "content": "Good morning everyone!",
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:06.4980000Z",
+ "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ {
+ "id": "1593106976785",
+ "type": "ThreadActivity/TopicUpdate",
+ "priority": "Normal",
+ "version": "1593106976785",
+ "content": "1593106976785 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b Lunch ",
+ "createdOn": "2020-06-25T17:42:56.7850000Z",
+ "senderId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2"
+ },
+ {
+ "id": "1593106976753",
+ "type": "ThreadActivity/AddMember",
+ "priority": "Normal",
+ "version": "1593106976753",
+ "content": "1593106976753 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b 1593106976566 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b 8:acs:29d8ac59-6011-44dc-87c0-1f9f93dbc713_2a711a-6c8ffcdc41 8:acs:29d8ac59-6011-44dc-87c0-1f9f93dbc713_2a711a-6c8ffcdc41 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c 8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c ",
+ "createdOn": "2020-06-25T17:42:56.7530000Z",
+ "senderId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2020-09-21-preview2"
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..df0395bea381
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "body": {
+ "priority": "Normal",
+ "content": "Let's head out for lunch in 15 minutes.",
+ "senderDisplayName": "Jane"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/messages/1593072104708"
+ },
+ "body": {
+ "id": "1593072104708"
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..6435d0e29153
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "x-skypetoken": "token",
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..f77e9c5e8dd9
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318",
+ "body": {
+ "content": "Updated message content"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json
new file mode 100644
index 000000000000..17cc78cfb022
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "body": {
+ "members": [
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "displayName": "Peter",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "displayName": "Rama",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "207": {
+ "multipleStatus": [
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "statusCode": 403,
+ "message": "Permissions check failed"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "statusCode": 201
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "statusCode": 201
+ }
+ ]
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json
new file mode 100644
index 000000000000..2f7522e9e0a1
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "displayName": "Jane",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ],
+ "nextLink": null
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json
new file mode 100644
index 000000000000..e4f34c5ab80d
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "chatMemberId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..f2e8c4bb469c
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "body": {
+ "topic": "Lunch",
+ "members": [
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "displayName": "Jane"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "displayName": "Alex"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "displayName": "Bob"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "207": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "multipleStatus": [
+ {
+ "id": "19:b355e41860604e7dacd072d586f47818@thread.v2",
+ "statusCode": 201
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "statusCode": 201
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "statusCode": 201
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "statusCode": 201
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "statusCode": 403,
+ "message": "Permissions check failed"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..8d2b13efb17a
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..2bcaff7565cb
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdBy": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "members": [
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..07a5dc602c3d
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "maxmaxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Chat with Samantha",
+ "isDeleted": false,
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2",
+ "topic": "Presentation Brainstorming",
+ "isDeleted": false,
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2",
+ "topic": "Chat with Alex",
+ "isDeleted": false,
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2",
+ "topic": "Lunch",
+ "isDeleted": false,
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2",
+ "topic": "Chat with Bob",
+ "isDeleted": false,
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2020-09-21-preview2&maxmaxPageSize=5"
+ }
+ },
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..fc22cf010c46
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2020-09-21-preview2",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "body": {
+ "topic": "Updated Thread Topic"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ },
+ "403": {
+ "body": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ },
+ "429": {
+ "body": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ },
+ "503": {
+ "body": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json
new file mode 100644
index 000000000000..c87ad2bfe5c3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json
@@ -0,0 +1,264 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationIdentityClient",
+ "description": "Azure Communication Identity Service",
+ "contact": {
+ "email": "acsdevexdisc@microsoft.com"
+ },
+ "version": "2020-07-20-preview2"
+ },
+ "paths": {
+ "/identities": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Create a new identity.",
+ "operationId": "CommunicationIdentity_Create",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "api-version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the created identity.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentity"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Identity": {
+ "$ref": "./examples/CreateIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}": {
+ "delete": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Delete the identity, revoke all tokens of the identity and delete all associated data.",
+ "operationId": "CommunicationIdentity_Delete",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Delete Identity": {
+ "$ref": "./examples/DeleteIdentity.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Update an Identity.",
+ "operationId": "CommunicationIdentity_Update",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The properties of the identity to be updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Update Identity": {
+ "$ref": "./examples/UpdateIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/token": {
+ "post": {
+ "tags": [
+ "Token"
+ ],
+ "summary": "Generate a new token for an identity.",
+ "operationId": "CommunicationIdentity_IssueToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to issue token for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Requesting scopes for the new token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationTokenRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityToken"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue Token": {
+ "$ref": "./examples/IssueToken.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationIdentity": {
+ "description": "A communication identity.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "tokensValidFrom": {
+ "format": "date-time",
+ "description": "All tokens that are issued prior to this time will be revoked.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationTokenRequest": {
+ "required": [
+ "scopes"
+ ],
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "List of scopes attached to the token.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CommunicationIdentityToken": {
+ "required": [
+ "expiresOn",
+ "id",
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the identity owning the token.",
+ "type": "string"
+ },
+ "token": {
+ "description": "The token issued for the identity.",
+ "type": "string"
+ },
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The expiry time of the token.",
+ "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": "Auth and Identity endpoint",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json
new file mode 100644
index 000000000000..a7a69a592539
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview2",
+ "content-type": "application/json",
+ "endpoint": "https://contoso.communication.azure.com/identities"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json
new file mode 100644
index 000000000000..1a7eec13edb8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview2",
+ "content-type": "application/json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "endpoint": "https://contoso.communication.azure.com/identities"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json
new file mode 100644
index 000000000000..b63e6b9c2264
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview2",
+ "content-type": "application/merge-patch+json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "body": {
+ "scopes": [
+ "chat"
+ ]
+ },
+ "endpoint": "https://contoso.communication.azure.com/identities/"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwMl9pbnQiLCJ0eXAiOiJKV1QifQ.eyJza3lwZWlkIjoiYWNzOjJkZWU1M2I0LTM2OGItNDViNC1hYjUyLTg0OTNmYjExNzY1Ml8wMDAwMDAwNS0xNGIwLWIwM2QtY2NjYy1iYWExZTEzYzAwMDEiLCJzY3AiOjE3OTIsImNzaSI6IjE1OTk2ODc1NzkiLCJpYXQiOjE1OTk2ODc1NzksImV4cCI6MTU5OTc3Mzk3OSwiYWNzU2NvcGUiOiJjaGF0IiwicmVzb3VyY2VJZCI6IjJkZWU1M2I0LTM2OGItNDViNC1hYjUyLTg0OTNmYjExNzY1MiJ9.S8Pryk7MVe0L8_KcTOjsGaU_6FXmcupVS8X73kJ2FW1CAotyJZb0YUoft_iXkbnTpJ3XK01SyhaXHcT48tXTsi1NcvyUqDk9u4rVKZkheA2F4ddLKYckO-RBw4mCHxlwsuiALNesR0MruhgiOSE1F0h_djDn6oKewSkyfd1FTWVqReeY1oIY4U0yi7_B8u3zNPiEFlv-Aqe4y1ISqi0009lt2u3EApjQ6pOIP8Jk9HAqbINwi2_lN5VAxUgK1XqvMBsiBmiB7fEfh-dNxB9tgH-tTGZQfRSprkjg6_KBVdYY7DTSr80J7Qez4JjoHwQ22DYKF8mleuFOysbTlLD0AA",
+ "expiresOn": "2020-09-10T21:39:39.3244584+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json
new file mode 100644
index 000000000000..c6ee654739d9
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-20-preview2",
+ "content-type": "application/merge-patch+json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "endpoint": "https://contoso.communication.azure.com/identities/",
+ "body": {
+ "tokensValidFrom": "2017-04-17T05:04:18.070Z"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json
new file mode 100644
index 000000000000..0d989bdbeee6
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json
@@ -0,0 +1,145 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication SMS Service",
+ "description": "Azure Communication SMS Service",
+ "contact": {
+ "email": "acsdevexdisc@microsoft.com"
+ },
+ "version": "2020-07-20-preview1"
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/sms": {
+ "post": {
+ "tags": [
+ "Sms"
+ ],
+ "summary": "Sends a SMS message from a phone number that belongs to the authenticated account.",
+ "operationId": "Sms_Send",
+ "x-ms-examples": {
+ "SuccessfulSend": {
+ "$ref": "./examples/send.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "SendMessageRequest",
+ "description": "Represents the body of the send message request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendMessageRequest"
+ }
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "SMS message is successfully scheduled for sending.",
+ "schema": {
+ "$ref": "#/definitions/SendSmsResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SendSmsOptions": {
+ "description": "Optional configuration for sending SMS messages",
+ "type": "object",
+ "properties": {
+ "enableDeliveryReport": {
+ "description": "Enable this flag to receive a delivery report for this message on the Azure Resource EventGrid",
+ "type": "boolean"
+ }
+ }
+ },
+ "SendMessageRequest": {
+ "description": "Represents the properties of a send message request.",
+ "required": [
+ "message",
+ "to",
+ "from"
+ ],
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The sender's phone number in E.164 format that is owned by the authenticated account.",
+ "type": "string"
+ },
+ "to": {
+ "description": "The recipients' phone number in E.164 format. In this version, only one recipient in the list is supported.",
+ "maxLength": 1,
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "description": "The contents of the message that will be sent to the recipient. The allowable content is defined by RFC 5724.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "sendSmsOptions": {
+ "$ref": "#/definitions/SendSmsOptions"
+ }
+ }
+ },
+ "SendSmsResponse": {
+ "description": "Response for a successful send Sms request.",
+ "type": "object",
+ "properties": {
+ "messageId": {
+ "description": "The identifier of the outgoing SMS message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "in": "path",
+ "name": "endpoint",
+ "description": "The endpoint of the Azure Communication resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json
new file mode 100644
index 000000000000..306feda3416f
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "SendMessageRequest": {
+ "from": "+18001110000",
+ "to": [
+ "+18002220000"
+ ],
+ "message": "Hello world!",
+ "sendSmsOptions": {
+ "enableDeliveryReport": true
+ }
+ },
+ "api-version": "2020-07-20-preview1",
+ "endpoint": "https://contoso.communication.azure.com/"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "messageId": "Outgoing_20200610203725bfd4ba70-70bf-4f77-925d-c0bdb5161bb3"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/readme.csharp.md b/specification/communication/data-plane/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/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/readme.md b/specification/communication/data-plane/readme.md
new file mode 100644
index 000000000000..32387d6d037d
--- /dev/null
+++ b/specification/communication/data-plane/readme.md
@@ -0,0 +1,92 @@
+# 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-2020-07-20-preview1
+```
+
+### Tag: package-2020-07-20-preview1
+
+These settings apply only when `--tag=package-2020-07-20-preview1` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-20-preview1'
+input-file:
+ - Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json
+ - Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json
+title:
+ Azure Communication Services
+```
+
+```yaml
+openapi-type: data-plane
+tag: package-2020-09-21-preview2
+```
+
+### Tag: package-2020-09-21-preview2
+
+These settings apply only when `--tag=package-2020-09-21-preview2` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-09-21-preview2'
+input-file:
+ - Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-2020-07-20-preview2
+
+These settings apply only when `--tag=package-2020-07-20-preview2` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-20-preview2'
+input-file:
+ - Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.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.
+
+## 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/readme.python.md b/specification/communication/data-plane/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/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: 2020-04-16-privatepreview
+ 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/readme.ruby.md b/specification/communication/data-plane/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/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: 2020-04-16-privatepreview
+azure-arm: true
+```
+
+### Tag: package-2020-04-16-privatepreview and ruby
+
+These settings apply only when `--tag=package-2020-04-16-privatepreview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-04-16-privatepreview' && $(ruby)
+namespace: Microsoft.CommunicationServices
+output-folder: $(ruby-sdks-folder)/communicationservices
+```
diff --git a/specification/communication/data-plane/readme.typescript.md b/specification/communication/data-plane/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/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/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json
new file mode 100644
index 000000000000..33b5c40e5fef
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json
@@ -0,0 +1,1178 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Services Management API",
+ "version": "2020-08-20-preview",
+ "description": "REST API for Azure Communication Services"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Communication/operations": {
+ "get": {
+ "description": "Lists all of the available REST API operations of the Microsoft.Communication provider.",
+ "operationId": "Operations_List",
+ "summary": "List Operations",
+ "tags": [
+ "Operations"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/checkNameAvailability": {
+ "post": {
+ "description": "Checks that the CommunicationService name is valid and is not already in use.",
+ "operationId": "CommunicationService_CheckNameAvailability",
+ "summary": "Check Name Availability",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "name": "nameAvailabilityParameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityParameters"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the name availability.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Check name availability available": {
+ "$ref": "./examples/checkNameAvailabilityAvailable.json"
+ },
+ "Check name availability unavailable": {
+ "$ref": "./examples/checkNameAvailabilityUnavailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/linkNotificationHub": {
+ "post": {
+ "description": "Links an Azure Notification Hub to this communication service.",
+ "operationId": "CommunicationService_LinkNotificationHub",
+ "summary": "Link Notification Hub",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "name": "linkNotificationHubParameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/LinkNotificationHubParameters"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The notification hub has been linked.",
+ "schema": {
+ "$ref": "#/definitions/LinkedNotificationHub"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Link notification hub": {
+ "$ref": "./examples/linkNotificationHub.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Communication/locations/{location}/operationStatuses/{operationId}": {
+ "get": {
+ "description": "Gets the current status of an async operation.",
+ "operationId": "OperationStatuses_Get",
+ "summary": "Get Operation Status",
+ "tags": [
+ "OperationStatus"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The requested operation status",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/getOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/communicationServices": {
+ "get": {
+ "description": "Handles requests to list all resources in a subscription.",
+ "operationId": "CommunicationService_ListBySubscription",
+ "summary": "List By Subscription",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of CommunicationServices in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List by subscription": {
+ "$ref": "./examples/listBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices": {
+ "get": {
+ "description": "Handles requests to list all resources in a resource group.",
+ "operationId": "CommunicationService_ListByResourceGroup",
+ "summary": "List By Resource Group",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of CommunicationServices in a resourceGroup.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List by resource group": {
+ "$ref": "./examples/listByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}": {
+ "patch": {
+ "description": "Operation to update an existing CommunicationService.",
+ "operationId": "CommunicationService_Update",
+ "summary": "Update",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/TaggedResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update request was successful",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Update resource": {
+ "$ref": "./examples/update.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Get the CommunicationService and its properties.",
+ "operationId": "CommunicationService_Get",
+ "summary": "Get",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the corresponding CommunicationService service.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get resource": {
+ "$ref": "./examples/get.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new CommunicationService or update an existing CommunicationService.",
+ "operationId": "CommunicationService_CreateOrUpdate",
+ "summary": "Create Or Update",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The create or update request was completed successfully",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "201": {
+ "description": "The create or update request was accepted",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update resource": {
+ "$ref": "./examples/createOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Operation to delete a CommunicationService.",
+ "operationId": "CommunicationService_Delete",
+ "summary": "Delete",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The delete operation was successful."
+ },
+ "202": {
+ "description": "The delete operation is being performed in the background.",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "The resource did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete resource": {
+ "$ref": "./examples/delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/listKeys": {
+ "post": {
+ "description": "Get the access keys of the CommunicationService resource.",
+ "operationId": "CommunicationService_ListKeys",
+ "summary": "List Keys",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes CommunicationService access keys.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List keys": {
+ "$ref": "./examples/listKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/regenerateKey": {
+ "post": {
+ "description": "Regenerate CommunicationService access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time.",
+ "operationId": "CommunicationService_RegenerateKey",
+ "summary": "Regenerate Key",
+ "tags": [
+ "CommunicationService"
+ ],
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Parameter that describes the Regenerate Key Operation.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created. The response contains the new key.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceKeys"
+ }
+ },
+ "201": {
+ "description": "Created and an async operation is executing in background to make the new key take effect. The response contains new keys and an Azure-AsyncOperation header to query the async operation result.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Regenerate key": {
+ "$ref": "./examples/regenerateKey.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Error response indicating why the requested operation could not be performed.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Result of the request to list REST API operations. It contains a list of operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the resource provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation supported by CommunicationService resource provider.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation with format: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The object that describes the operation."
+ },
+ "origin": {
+ "description": "Optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Extra properties for the operation.",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that describes a operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Friendly name of the resource provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Extra Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "The service specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "An object that describes a specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Specifications of the Metrics for Azure Monitoring.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Specifications of the Metrics for Azure Monitoring.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Localized friendly description of the metric.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "The unit that makes sense for the metric.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "The method for aggregating the metric.",
+ "type": "string",
+ "enum": [
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "AggregationType",
+ "modelAsString": true
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.",
+ "type": "string"
+ },
+ "category": {
+ "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.",
+ "type": "string"
+ },
+ "dimensions": {
+ "description": "The dimensions of the metrics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Specifications of the Dimension of metrics.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The public facing name of the dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the dimension.",
+ "type": "string"
+ },
+ "internalName": {
+ "description": "Name of the dimension as it appears in MDM.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.",
+ "type": "boolean"
+ }
+ }
+ },
+ "NameAvailabilityParameters": {
+ "description": "Data POST-ed to the nameAvailability action",
+ "required": [
+ "type",
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The resource type. Should be always \"Microsoft.Communication/CommunicationServices\".",
+ "type": "string"
+ },
+ "name": {
+ "description": "The CommunicationService name to validate. e.g.\"my-CommunicationService-name-here\"",
+ "type": "string"
+ }
+ }
+ },
+ "NameAvailability": {
+ "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates whether the name is available or not.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason of the availability. Required if name is not available.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "LinkNotificationHubParameters": {
+ "description": "Description of an Azure Notification Hub to link to the communication service",
+ "required": [
+ "resourceId",
+ "connectionString"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource ID of the notification hub",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "Connection string for the notification hub",
+ "type": "string"
+ }
+ }
+ },
+ "LinkedNotificationHub": {
+ "description": "A notification hub that has been linked to the communication service",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource ID of the notification hub",
+ "type": "string"
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "The current status of an async operation",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the operation status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Deleting",
+ "Moving"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "The start time of the operation",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The end time of the operation",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "percentComplete": {
+ "description": "Percent of the operation that is complete",
+ "type": "number",
+ "readOnly": true,
+ "minimum": 0,
+ "maximum": 100
+ },
+ "error": {
+ "description": "Operation Error message",
+ "$ref": "#/definitions/ErrorResponse",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "CommunicationServiceResourceList": {
+ "description": "Object that includes an array of CommunicationServices and a possible link for next set.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of CommunicationService",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationServiceResource": {
+ "description": "A class representing a CommunicationService resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/LocationResource"
+ },
+ {
+ "$ref": "#/definitions/TaggedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CommunicationServiceProperties",
+ "description": "The properties of the service.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource ID for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the service - e.g. \"Microsoft.Communication/CommunicationServices\"",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "LocationResource": {
+ "description": "An ARM resource with its own location (not a global or an inherited location).",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The Azure location where the CommunicationService is running.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "TaggedResource": {
+ "description": "An ARM resource with that can accept tags",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the service which is a list of key value pairs that describe the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ }
+ }
+ },
+ "CommunicationServiceProperties": {
+ "description": "A class that describes the properties of the CommunicationService.",
+ "required": [
+ "dataLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Unknown",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Running",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "description": "FQDN of the CommunicationService instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataLocation": {
+ "description": "The location where the communication service stores its data at rest.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "notificationHubId": {
+ "description": "Resource ID of an Azure Notification Hub linked to this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Version of the CommunicationService resource. Probably you need the same or higher version of client SDKs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "immutableResourceId": {
+ "description": "The immutable resource Id of the communication service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CommunicationServiceKeys": {
+ "description": "A class representing the access keys of a CommunicationService.",
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "The primary access key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary access key.",
+ "type": "string"
+ },
+ "primaryConnectionString": {
+ "description": "CommunicationService connection string constructed via the primaryKey",
+ "type": "string"
+ },
+ "secondaryConnectionString": {
+ "description": "CommunicationService connection string constructed via the secondaryKey",
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateKeyParameters": {
+ "description": "Parameters describes the request to regenerate access keys",
+ "type": "object",
+ "properties": {
+ "keyType": {
+ "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2020-08-20-preview"
+ ]
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Gets subscription ID which uniquely identifies the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CommunicationServiceName": {
+ "name": "communicationServiceName",
+ "in": "path",
+ "description": "The name of the CommunicationService resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The Azure region",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "description": "The ID of an ongoing async operation",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json
new file mode 100644
index 000000000000..ed8a879a190e
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20-preview",
+ "nameAvailabilityParameters": {
+ "type": "Microsoft.Communication/CommunicationServices",
+ "name": "MyCommunicationService"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "NameAvailable",
+ "message": "Requested name is available for the requested type"
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json
new file mode 100644
index 000000000000..a2e050f47ccc
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20-preview",
+ "nameAvailabilityParameters": {
+ "type": "Microsoft.Communication/CommunicationServices",
+ "name": "MyCommunicationService"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "Requested name is unavailable for the requested type"
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json
new file mode 100644
index 000000000000..aafec77cf065
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview",
+ "parameters": {
+ "location": "Global",
+ "properties": {
+ "dataLocation": "United States"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource",
+ "name": "MyCommunicationResource",
+ "type": "Microsoft.Communication/CommunicationServices",
+ "location": "Global",
+ "properties": {
+ "dataLocation": "United States",
+ "provisioningState": "Succeeded",
+ "hostName": "mycommunicationresource.communications.azure.com"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Communication/locations/westus/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d"
+ },
+ "body": {
+ "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource",
+ "name": "MyCommunicationResource",
+ "type": "Microsoft.Communication/CommunicationServices",
+ "location": "Global",
+ "properties": {
+ "dataLocation": "United States",
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json
new file mode 100644
index 000000000000..5bb01a4d2773
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Communication/locations/westus/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json
new file mode 100644
index 000000000000..ea4bdc176b41
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource",
+ "name": "MyCommunicationResource",
+ "type": "Microsoft.Communication/CommunicationServices",
+ "location": "Global",
+ "properties": {
+ "dataLocation": "United States",
+ "provisioningState": "Running",
+ "hostName": "mycommunicationservice.comms.azure.net",
+ "version": "0.2.0"
+ }
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "The requested resource was not found"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json
new file mode 100644
index 000000000000..caa62830d1e7
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "location": "westus2",
+ "operationId": "db5f291f-284d-46e9-9152-d5c83f7c14b8",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "db5f291f-284d-46e9-9152-d5c83f7c14b8",
+ "status": "Succeeded",
+ "startTime": "2020-07-06T17:06:26.100Z",
+ "endTime": "2020-07-06T17:06:42.800Z",
+ "percentComplete": 100
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "OperationNotFound",
+ "message": "The requested async operation was not found"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json
new file mode 100644
index 000000000000..1f39fc5fecc3
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview",
+ "linkNotificationHubParameters": {
+ "resourceId": "/subscriptions/12345/resourceGroups/MyOtherResourceGroup/providers/Microsoft.NotificationHubs/namespaces/MyNamespace/notificationHubs/MyHub",
+ "connectionString": "Endpoint=sb://MyNamespace.servicebus.windows.net/;SharedAccessKey=abcd1234"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "resourceId": "/subscriptions/12345/resourceGroups/MyOtherResourceGroup/providers/Microsoft.NotificationHubs/namespaces/MyNamespace/notificationHubs/MyHub"
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "WrongSubscription",
+ "message": "The notification hub must be in the same subscription as the communication service"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json
new file mode 100644
index 000000000000..139e7f6cf04f
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Running",
+ "dataLocation": "United States",
+ "hostName": "mycommunicationservice.comms.azure.net",
+ "version": "0.2.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json
new file mode 100644
index 000000000000..8300a9f55093
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Running",
+ "dataLocation": "United States",
+ "hostName": "mycommunicationservice.comms.azure.net",
+ "version": "0.2.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json
new file mode 100644
index 000000000000..ee092cda96e0
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "1234",
+ "secondaryKey": "ABCD"
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json
new file mode 100644
index 000000000000..72ba59e10b8f
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview",
+ "parameters": {
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "1234",
+ "primaryConnectionString": "endpoint=http://example.com;accesskey=1234"
+ }
+ },
+ "201": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json
new file mode 100644
index 000000000000..a441c4f0546c
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20-preview",
+ "parameters": {
+ "tags": {
+ "newTag": "newVal"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource",
+ "name": "MyCommunicationResource",
+ "type": "Microsoft.Communication/CommunicationServices",
+ "location": "Global",
+ "tags": {
+ "newTag": "newVal"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dataLocation": "United States",
+ "hostName": "mycommunicationresource.communications.azure.com",
+ "version": "0.2.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/readme.csharp.md b/specification/communication/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..f1aed9643153
--- /dev/null
+++ b/specification/communication/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.Communication
+ output-folder: $(csharp-sdks-folder)/communication/Microsoft.Azure.Management.Communication/src/Generated
+```
diff --git a/specification/communication/resource-manager/readme.go.md b/specification/communication/resource-manager/readme.go.md
new file mode 100644
index 000000000000..1434d5fd3791
--- /dev/null
+++ b/specification/communication/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: communication
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-08-20-preview
+```
+
+### Tag: package-2020-08-20-preview and go
+
+These settings apply only when `--tag=package-2020-08-20-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-08-20-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-20-preview/$(namespace)
+```
diff --git a/specification/communication/resource-manager/readme.java.md b/specification/communication/resource-manager/readme.java.md
new file mode 100644
index 000000000000..9c6341c30e98
--- /dev/null
+++ b/specification/communication/resource-manager/readme.java.md
@@ -0,0 +1,33 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.communication
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-communication
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-08-20-preview
+```
+
+### Tag: package-2020-08-20-preview and java
+
+These settings apply only when `--tag=package-2020-08-20-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-08-20-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.communication.v2020_08_20_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/communication/mgmt-v2020_08_20_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/communication/resource-manager/readme.md b/specification/communication/resource-manager/readme.md
new file mode 100644
index 000000000000..ecbda968e72b
--- /dev/null
+++ b/specification/communication/resource-manager/readme.md
@@ -0,0 +1,74 @@
+# vsonline
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Communication Services.
+
+---
+
+## Getting Started
+
+To build the SDKs for Azure Communication Services, simply [Install AutoRest](https://aka.ms/autorest/install) or via `npm` (`npm install -g autorest`) 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 Azure Communication Services API.
+
+```yaml
+title: CommunicationServiceManagementClient
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2020-08-20-preview
+```
+
+### Tag: package-2020-08-20-preview
+
+These settings apply only when `--tag=package-2020-08-20-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-08-20-preview'
+input-file:
+ - Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.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-python-track2
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-java
+```
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Typescript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
diff --git a/specification/communication/resource-manager/readme.python.md b/specification/communication/resource-manager/readme.python.md
new file mode 100644
index 000000000000..18112d3b5145
--- /dev/null
+++ b/specification/communication/resource-manager/readme.python.md
@@ -0,0 +1,44 @@
+## 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.communication
+ package-name: azure-mgmt-communication
+ package-version: 1.0.0rc1
+ clear-output-folder: true
+```
+
+These settings apply only when `--track2` is specified on the command line.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-communication
+no-namespace-folders: true
+package-version: 1.0.0rc1
+```
+
+```yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication/azure/mgmt/communication
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication/azure/mgmt/communication
+```
+
+```yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication
+```
diff --git a/specification/communication/resource-manager/readme.typescript.md b/specification/communication/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..702c0e38144e
--- /dev/null
+++ b/specification/communication/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-communication"
+ output-folder: "$(typescript-sdks-folder)/sdk/communication/arm-communication"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json
new file mode 100644
index 000000000000..2b58d146d876
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "sharingUpdate": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json
new file mode 100644
index 000000000000..be3c726713ed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..d4f969d2d11e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..079b456f748a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..13f9b61d3641
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..a3353dfdd97e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,221 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..d3e4274210ce
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet",
+ "lun": 1
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "hostCaching": "None"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
new file mode 100644
index 000000000000..e2b1b504c1ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet",
+ "lun": 1
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json
new file mode 100644
index 000000000000..b9852f7f8548
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery description.",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Creating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json
new file mode 100644
index 000000000000..2abe4517a561
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json
new file mode 100644
index 000000000000..f1014e7b7f78
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..e4a43f69b126
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json
new file mode 100644
index 000000000000..6d760641d7b4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json
new file mode 100644
index 000000000000..76001cffb9b2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json
new file mode 100644
index 000000000000..7ef46189bfcc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json
new file mode 100644
index 000000000000..37c4d1d42a00
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..0affffec2e45
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..776ea72e0c03
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json
new file mode 100644
index 000000000000..8e4305e0148c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json
new file mode 100644
index 000000000000..c65d0cc43058
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..7462407b0222
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ },
+ {
+ "region": "East US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..a0184d882337
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}",
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
new file mode 100644
index 000000000000..d92d3c77540d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json
new file mode 100644
index 000000000000..b58ca89c0bc1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "$select": "Permissions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sharingProfile": {
+ "permissions": "Groups",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json
new file mode 100644
index 000000000000..9615b8456462
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "myLocation",
+ "name": "myGalleryName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json
new file mode 100644
index 000000000000..ab78ae46c4f0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json
new file mode 100644
index 000000000000..7e20e0f45d65
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "myGalleryImageVersionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishedDate": "2018-03-20T09:12:28Z",
+ "endOfLifeDate": "2022-03-20T09:12:28Z"
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageVersionName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json
new file mode 100644
index 000000000000..756c512dd1fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json
new file mode 100644
index 000000000000..280325678dd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
new file mode 100644
index 000000000000..b0ea6bfdba57
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName/versions/myGalleryApplicationVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json
new file mode 100644
index 000000000000..d21b58c493ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json
new file mode 100644
index 000000000000..499ad4e6366f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName/versions/myGalleryImageVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json
new file mode 100644
index 000000000000..570fc0e39b6f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json
new file mode 100644
index 000000000000..baebdfed7d93
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "myLocation",
+ "name": "galleryUniqueName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sharedGalleries?$skiptoken={token}/Subscriptions/{subscriptionId}/galleries/galleryUniqueName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json
new file mode 100644
index 000000000000..95baa0b1144f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "publishedDate": "2018-03-20T09:12:28Z",
+ "endOfLifeDate": "2022-03-20T09:12:28Z"
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageVersionName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName/versions/myGalleryImageVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json
new file mode 100644
index 000000000000..47a2b4ac926a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json
new file mode 100644
index 000000000000..98c4a29b2a29
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "sharingUpdate": {
+ "operationType": "Reset"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "operationType": "Reset"
+ }
+ },
+ "202": {
+ "body": {
+ "operationType": "Reset"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json
new file mode 100644
index 000000000000..d3618117f15c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..0bb889c29a26
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..9933e2d8d709
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "manageActions": {
+ "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"",
+ "remove": "del C:\\package "
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..ebfd473f7e95
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..5cf4547abad1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json
new file mode 100644
index 000000000000..9a8a338f6bc5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json
@@ -0,0 +1,2864 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharedImageGalleryServiceClient",
+ "description": "Shared Image Gallery Service Client.",
+ "version": "2020-09-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}": {
+ "put": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_CreateOrUpdate",
+ "description": "Create or update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ },
+ "description": "Parameters supplied to the create or update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGallery.json"
+ },
+ "Create or update a simple gallery with sharing profile.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Update",
+ "description": "Update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryUpdate"
+ },
+ "description": "Parameters supplied to the update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery.": {
+ "$ref": "./examples/UpdateASimpleGallery.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Get",
+ "description": "Retrieves information about a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The select expression to apply on the operation.",
+ "enum": [
+ "Permissions"
+ ],
+ "x-ms-enum": {
+ "name": "SelectPermissions",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetAGallery.json"
+ },
+ "Get a gallery with select permissions.": {
+ "$ref": "./examples/GetAGalleryWithSelectPermissions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Delete",
+ "description": "Delete a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery.": {
+ "$ref": "./examples/DeleteAGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}": {
+ "put": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_CreateOrUpdate",
+ "description": "Create or update a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be created."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ },
+ "description": "Parameters supplied to the create or update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery image.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Update",
+ "description": "Update a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageUpdate"
+ },
+ "description": "Parameters supplied to the update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery image.": {
+ "$ref": "./examples/UpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Get",
+ "description": "Retrieves information about a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be retrieved."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery image.": {
+ "$ref": "./examples/GetAGalleryImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Delete",
+ "description": "Delete a gallery image.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be deleted."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery image.": {
+ "$ref": "./examples/DeleteAGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "put": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_CreateOrUpdate",
+ "description": "Create or update a gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition in which the Image Version is to be created."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImageVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ },
+ "description": "Parameters supplied to the create or update gallery image version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple Gallery Image Version (Managed Image as source).": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersion.json"
+ },
+ "Create or update a simple Gallery Image Version using snapshots as a source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json"
+ },
+ "Create or update a simple Gallery Image Version using vhd as a source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Update",
+ "description": "Update a gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition in which the Image Version is to be updated."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImageVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery image version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple Gallery Image Version (Managed Image as source).": {
+ "$ref": "./examples/UpdateASimpleGalleryImageVersion.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Get",
+ "description": "Retrieves information about a gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition in which the Image Version resides."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be retrieved."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "ReplicationStatus"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationStatusTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery image version.": {
+ "$ref": "./examples/GetAGalleryImageVersion.json"
+ },
+ "Get a gallery image version with replication status.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithReplicationStatus.json"
+ },
+ "Get a gallery image version with snapshots as a source.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithSnapshotsAsSource.json"
+ },
+ "Get a gallery image version with vhd as a source.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithVhdAsSource.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Delete",
+ "description": "Delete a gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition in which the Image Version resides."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery image version.": {
+ "$ref": "./examples/DeleteAGalleryImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}": {
+ "put": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_CreateOrUpdate",
+ "description": "Create or update a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be created."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplication",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ },
+ "description": "Parameters supplied to the create or update gallery Application operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery Application.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryApplication.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Update",
+ "description": "Update a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be updated."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplication",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplication.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Get",
+ "description": "Retrieves information about a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery from which the Application Definitions are to be retrieved."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be retrieved."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery Application.": {
+ "$ref": "./examples/GetAGalleryApplication.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Delete",
+ "description": "Delete a gallery Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be deleted."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery Application.": {
+ "$ref": "./examples/DeleteAGalleryApplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}": {
+ "put": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_CreateOrUpdate",
+ "description": "Create or update a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version is to be created."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplicationVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ },
+ "description": "Parameters supplied to the create or update gallery Application Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery Application Version.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryApplicationVersion.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Update",
+ "description": "Update a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version is to be updated."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplicationVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application Version.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplicationVersion.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Get",
+ "description": "Retrieves information about a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version resides."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be retrieved."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "ReplicationStatus"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationStatusTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery Application Version.": {
+ "$ref": "./examples/GetAGalleryApplicationVersion.json"
+ },
+ "Get a gallery Application Version with replication status.": {
+ "$ref": "./examples/GetAGalleryApplicationVersionWithReplicationStatus.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Delete",
+ "description": "Delete a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version resides."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery Application Version.": {
+ "$ref": "./examples/DeleteAGalleryApplicationVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries": {
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_ListByResourceGroup",
+ "description": "List galleries under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List galleries in a resource group.": {
+ "$ref": "./examples/ListGalleriesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries": {
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_List",
+ "description": "List galleries under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List galleries in a subscription.": {
+ "$ref": "./examples/ListGalleriesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images": {
+ "get": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_ListByGallery",
+ "description": "List gallery image definitions in a gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery from which Image Definitions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery images in a gallery.": {
+ "$ref": "./examples/ListGalleryImagesInAGallery.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions": {
+ "get": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_ListByGalleryImage",
+ "description": "List gallery image versions in a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery image versions in a gallery image definition.": {
+ "$ref": "./examples/ListGalleryImageVersionsInAGalleryImage.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications": {
+ "get": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_ListByGallery",
+ "description": "List gallery Application Definitions in a gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery from which Application Definitions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery Applications in a gallery.": {
+ "$ref": "./examples/ListGalleryApplicationsInAGallery.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions": {
+ "get": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_ListByGalleryApplication",
+ "description": "List gallery Application Versions in a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery Application Definition from which the Application Versions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery Application Versions in a gallery Application Definition.": {
+ "$ref": "./examples/ListGalleryApplicationVersionsInAGalleryApplication.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/share": {
+ "post": {
+ "tags": [
+ "GallerySharingUpdate"
+ ],
+ "operationId": "GallerySharingProfile_Update",
+ "description": "Update sharing profile of a gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "sharingUpdate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SharingUpdate"
+ },
+ "description": "Parameters supplied to the update gallery sharing profile."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharingUpdate"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/SharingUpdate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add sharing id to the sharing profile of a gallery.": {
+ "$ref": "./examples/AddToSharingProfileInAGallery.json"
+ },
+ "reset sharing profile of a gallery.": {
+ "$ref": "./examples/ResetSharingProfileInAGallery.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Gallery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the Shared Image Gallery that you want to create or update."
+ },
+ "GalleryUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the Shared Image Gallery that you want to update."
+ },
+ "GalleryProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this Shared Image Gallery resource. This property is updatable."
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryIdentifier"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ },
+ "sharingProfile": {
+ "$ref": "#/definitions/SharingProfile"
+ }
+ },
+ "description": "Describes the properties of a Shared Image Gallery."
+ },
+ "GalleryIdentifier": {
+ "properties": {
+ "uniqueName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique name of the Shared Image Gallery. This name is generated automatically by Azure."
+ }
+ },
+ "description": "Describes the gallery unique name."
+ },
+ "SharingProfile": {
+ "description": "Profile for gallery sharing to subscription or tenant",
+ "properties": {
+ "permissions": {
+ "type": "string",
+ "description": "This property allows you to specify the permission of sharing gallery. Possible values are: **Private** **Groups**",
+ "enum": [
+ "Private",
+ "Groups"
+ ],
+ "x-ms-enum": {
+ "name": "GallerySharingPermissionTypes",
+ "modelAsString": true
+ }
+ },
+ "groups": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharingProfileGroup"
+ },
+ "description": "A list of sharing profile groups."
+ }
+ }
+ },
+ "SharingProfileGroup": {
+ "description": "Group of the gallery sharing profile",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "This property allows you to specify the type of sharing group. Possible values are: **Subscriptions** **AADTenants**",
+ "enum": [
+ "Subscriptions",
+ "AADTenants"
+ ],
+ "x-ms-enum": {
+ "name": "SharingProfileGroupTypes",
+ "modelAsString": true
+ }
+ },
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of subscription/tenant ids the gallery is aimed to be shared to."
+ }
+ }
+ },
+ "GalleryApplication": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Definition that you want to create or update."
+ },
+ "GalleryApplicationUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Definition that you want to update."
+ },
+ "GalleryApplicationProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this gallery Application Definition resource. This property is updatable."
+ },
+ "eula": {
+ "type": "string",
+ "description": "The Eula agreement for the gallery Application Definition."
+ },
+ "privacyStatementUri": {
+ "type": "string",
+ "description": "The privacy statement uri."
+ },
+ "releaseNoteUri": {
+ "type": "string",
+ "description": "The release note uri."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "supportedOSType": {
+ "type": "string",
+ "description": "This property allows you to specify the supported type of the OS that application is built for. Possible values are: **Windows** **Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "supportedOSType"
+ ],
+ "description": "Describes the properties of a gallery Application Definition."
+ },
+ "GalleryApplicationVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Version that you want to create or update."
+ },
+ "GalleryApplicationVersionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Version that you want to update."
+ },
+ "GalleryApplicationVersionProperties": {
+ "properties": {
+ "publishingProfile": {
+ "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery Application Version.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ },
+ "replicationStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReplicationStatus"
+ }
+ },
+ "required": [
+ "publishingProfile"
+ ],
+ "description": "Describes the properties of a gallery image version."
+ },
+ "GalleryApplicationVersionPublishingProfile": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/UserArtifactSource"
+ },
+ "manageActions": {
+ "$ref": "#/definitions/UserArtifactManage"
+ },
+ "enableHealthCheck": {
+ "type": "boolean",
+ "description": "Optional. Whether or not this application reports health."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryArtifactPublishingProfileBase"
+ }
+ ],
+ "required": [
+ "source"
+ ],
+ "description": "The publishing profile of a gallery image version."
+ },
+ "UserArtifactSource": {
+ "properties": {
+ "mediaLink": {
+ "type": "string",
+ "description": "Required. The mediaLink of the artifact, must be a readable storage page blob."
+ },
+ "defaultConfigurationLink": {
+ "type": "string",
+ "description": "Optional. The defaultConfigurationLink of the artifact, must be a readable storage page blob."
+ }
+ },
+ "required": [
+ "mediaLink"
+ ],
+ "description": "The source image from which the Image Version is going to be created."
+ },
+ "UserArtifactManage": {
+ "properties": {
+ "install": {
+ "type": "string",
+ "description": "Required. The path and arguments to install the gallery application. This is limited to 4096 characters."
+ },
+ "remove": {
+ "type": "string",
+ "description": "Required. The path and arguments to remove the gallery application. This is limited to 4096 characters."
+ },
+ "update": {
+ "type": "string",
+ "description": "Optional. The path and arguments to update the gallery application. If not present, then update operation will invoke remove command on the previous version and install command on the current version of the gallery application. This is limited to 4096 characters."
+ }
+ },
+ "required": [
+ "install",
+ "remove"
+ ]
+ },
+ "GalleryImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery image definition that you want to create or update."
+ },
+ "GalleryImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery image definition that you want to update."
+ },
+ "GalleryImageProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this gallery image definition resource. This property is updatable."
+ },
+ "eula": {
+ "type": "string",
+ "description": "The Eula agreement for the gallery image definition."
+ },
+ "privacyStatementUri": {
+ "type": "string",
+ "description": "The privacy statement uri."
+ },
+ "releaseNoteUri": {
+ "type": "string",
+ "description": "The release note uri."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. Possible values are: **Windows** **Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemStateTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageFeature"
+ },
+ "description": "A list of gallery image features."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryImageIdentifier"
+ },
+ "recommended": {
+ "$ref": "#/definitions/RecommendedMachineConfiguration"
+ },
+ "disallowed": {
+ "$ref": "#/definitions/Disallowed"
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/ImagePurchasePlan"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery image definition.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ }
+ },
+ "required": [
+ "osType",
+ "osState",
+ "identifier"
+ ],
+ "description": "Describes the properties of a gallery image definition."
+ },
+ "GalleryImageFeature": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the gallery image feature."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the gallery image feature."
+ }
+ },
+ "description": "A feature for gallery image."
+ },
+ "GalleryImageIdentifier": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The name of the gallery image definition publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "The name of the gallery image definition offer."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The name of the gallery image definition SKU."
+ }
+ },
+ "required": [
+ "publisher",
+ "offer",
+ "sku"
+ ],
+ "description": "This is the gallery image definition identifier."
+ },
+ "RecommendedMachineConfiguration": {
+ "properties": {
+ "vCPUs": {
+ "$ref": "#/definitions/ResourceRange"
+ },
+ "memory": {
+ "$ref": "#/definitions/ResourceRange"
+ }
+ },
+ "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable."
+ },
+ "ResourceRange": {
+ "properties": {
+ "min": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of the resource."
+ },
+ "max": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of the resource."
+ }
+ },
+ "description": "Describes the resource range."
+ },
+ "Disallowed": {
+ "properties": {
+ "diskTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of disk types."
+ }
+ },
+ "description": "Describes the disallowed disk types."
+ },
+ "ImagePurchasePlan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The product ID."
+ }
+ },
+ "description": "Describes the gallery image definition purchase plan. This is used by marketplace images."
+ },
+ "GalleryImageVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "GalleryImageVersionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery image version that you want to update."
+ },
+ "GalleryImageVersionProperties": {
+ "properties": {
+ "publishingProfile": {
+ "$ref": "#/definitions/GalleryImageVersionPublishingProfile"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery image version.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/GalleryImageVersionStorageProfile"
+ },
+ "replicationStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReplicationStatus"
+ }
+ },
+ "required": [
+ "storageProfile"
+ ],
+ "description": "Describes the properties of a gallery image version."
+ },
+ "GalleryArtifactPublishingProfileBase": {
+ "properties": {
+ "targetRegions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetRegion"
+ },
+ "description": "The target regions where the Image Version is going to be replicated to. This property is updatable."
+ },
+ "replicaCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable."
+ },
+ "excludeFromLatest": {
+ "type": "boolean",
+ "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version."
+ },
+ "publishedDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp for when the gallery image version is published."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "Specifies the storage account type to be used to store the image. This property is not updatable.",
+ "enum": [
+ "Standard_LRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes the basic gallery artifact publishing profile."
+ },
+ "TargetRegion": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "regionalReplicaCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of replicas of the Image Version to be created per region. This property is updatable."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "Specifies the storage account type to be used to store the image. This property is not updatable.",
+ "enum": [
+ "Standard_LRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": true
+ }
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionImages"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes the target region information."
+ },
+ "EncryptionImages": {
+ "properties": {
+ "osDiskImage": {
+ "$ref": "#/definitions/OSDiskImageEncryption"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImageEncryption"
+ },
+ "description": "A list of encryption specifications for data disk images."
+ }
+ },
+ "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact."
+ },
+ "OSDiskImageEncryption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DiskImageEncryption"
+ }
+ ],
+ "description": "Contains encryption settings for an OS disk image."
+ },
+ "DataDiskImageEncryption": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DiskImageEncryption"
+ }
+ ],
+ "required": [
+ "lun"
+ ],
+ "description": "Contains encryption settings for a data disk image."
+ },
+ "DiskImageEncryption": {
+ "properties": {
+ "diskEncryptionSetId": {
+ "type": "string",
+ "description": "A relative URI containing the resource ID of the disk encryption set."
+ }
+ },
+ "description": "This is the disk image encryption base class."
+ },
+ "GalleryArtifactSource": {
+ "properties": {
+ "managedImage": {
+ "$ref": "#/definitions/ManagedArtifact"
+ }
+ },
+ "required": [
+ "managedImage"
+ ],
+ "description": "The source image from which the Image Version is going to be created."
+ },
+ "ManagedArtifact": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The managed artifact id."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The managed artifact."
+ },
+ "GalleryImageVersionPublishingProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryArtifactPublishingProfileBase"
+ }
+ ],
+ "description": "The publishing profile of a gallery image Version."
+ },
+ "GalleryImageVersionStorageProfile": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/GalleryArtifactVersionSource"
+ },
+ "osDiskImage": {
+ "$ref": "#/definitions/GalleryOSDiskImage"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryDataDiskImage"
+ },
+ "description": "A list of data disk images."
+ }
+ },
+ "description": "This is the storage profile of a Gallery Image Version."
+ },
+ "GalleryArtifactVersionSource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, user image or storage account resource."
+ },
+ "uri": {
+ "type": "string",
+ "description": "The uri of the gallery artifact version source. Currently used to specify vhd/blob source."
+ }
+ },
+ "description": "The gallery artifact version source."
+ },
+ "GalleryOSDiskImage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryDiskImage"
+ }
+ ],
+ "description": "This is the OS disk image."
+ },
+ "GalleryDataDiskImage": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryDiskImage"
+ }
+ ],
+ "required": [
+ "lun"
+ ],
+ "description": "This is the data disk image."
+ },
+ "GalleryDiskImage": {
+ "properties": {
+ "sizeInGB": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "This property indicates the size of the VHD to be created."
+ },
+ "hostCaching": {
+ "type": "string",
+ "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "HostCaching",
+ "modelAsString": false
+ }
+ },
+ "source": {
+ "$ref": "#/definitions/GalleryArtifactVersionSource"
+ }
+ },
+ "description": "This is the disk image base class."
+ },
+ "ReplicationStatus": {
+ "properties": {
+ "aggregatedState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "This is the aggregated replication status based on all the regional replication status flags.",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AggregatedReplicationState",
+ "modelAsString": true
+ }
+ },
+ "summary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionalReplicationStatus"
+ },
+ "description": "This is a summary of replication status for each region."
+ }
+ },
+ "description": "This is the replication status of the gallery image version."
+ },
+ "RegionalReplicationStatus": {
+ "properties": {
+ "region": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The region to which the gallery image version is being replicated to."
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "This is the regional replication state.",
+ "enum": [
+ "Unknown",
+ "Replicating",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationState",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The details of the replication status."
+ },
+ "progress": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "It indicates progress of the replication job."
+ }
+ },
+ "description": "This is the regional replication status."
+ },
+ "GalleryList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Gallery"
+ },
+ "description": "A list of galleries."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of galleries. Call ListNext() with this to fetch the next page of galleries."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Galleries operation response."
+ },
+ "GalleryImageList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImage"
+ },
+ "description": "A list of Shared Image Gallery images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Image Definitions in the Shared Image Gallery. Call ListNext() with this to fetch the next page of gallery image definitions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Gallery Images operation response."
+ },
+ "GalleryImageVersionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ },
+ "description": "A list of gallery image versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of gallery image versions. Call ListNext() with this to fetch the next page of gallery image versions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Gallery Image version operation response."
+ },
+ "GalleryApplicationList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryApplication"
+ },
+ "description": "A list of Gallery Applications."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Application Definitions in the Application Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Gallery Applications operation response."
+ },
+ "GalleryApplicationVersionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ },
+ "description": "A list of gallery Application Versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of gallery Application Versions. Call ListNext() with this to fetch the next page of gallery Application Versions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Gallery Application version operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "UpdateResourceDefinition": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharingUpdate": {
+ "description": "Specifies information about the gallery sharing profile update.",
+ "properties": {
+ "operationType": {
+ "type": "string",
+ "description": "This property allows you to specify the operation type of gallery sharing update. Possible values are: **Add** **Remove** **Reset**",
+ "enum": [
+ "Add",
+ "Remove",
+ "Reset"
+ ],
+ "x-ms-enum": {
+ "name": "SharingUpdateOperationTypes",
+ "modelAsString": true
+ }
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharingProfileGroup"
+ },
+ "description": "A list of sharing profile groups."
+ }
+ },
+ "required": [
+ "operationType"
+ ],
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the resource group."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json
new file mode 100644
index 000000000000..1579fa58a3ea
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json
@@ -0,0 +1,786 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharedGalleryServiceClient",
+ "description": "Shared Gallery Service Client.",
+ "version": "2020-09-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries": {
+ "get": {
+ "tags": [
+ "SharedGalleries"
+ ],
+ "operationId": "SharedGalleries_List",
+ "description": "List shared galleries by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleries.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images": {
+ "get": {
+ "tags": [
+ "SharedGalleryImages"
+ ],
+ "operationId": "SharedGalleryImages_List",
+ "description": "List shared gallery images by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleryImages.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions": {
+ "get": {
+ "tags": [
+ "SharedGalleryImageVersions"
+ ],
+ "operationId": "SharedGalleryImageVersions_List",
+ "description": "List shared gallery image versions by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleryImageVersions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}": {
+ "get": {
+ "tags": [
+ "SharedGalleries"
+ ],
+ "operationId": "SharedGalleries_Get",
+ "description": "Get a shared gallery by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}": {
+ "get": {
+ "tags": [
+ "SharedGalleryImages"
+ ],
+ "operationId": "SharedGalleryImages_Get",
+ "description": "Get a shared gallery image by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "get": {
+ "tags": [
+ "SharedGalleryImageVersions"
+ ],
+ "operationId": "SharedGalleryImageVersions_Get",
+ "description": "Get a shared gallery image version by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGalleryImageVersion.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PirResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ }
+ }
+ },
+ "PirSharedGalleryResource": {
+ "properties": {
+ "identifier": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryIdentifier"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirResource"
+ }
+ ],
+ "description": "Base information about the shared gallery resource in pir."
+ },
+ "SharedGalleryIdentifier": {
+ "properties": {
+ "uniqueId": {
+ "type": "string",
+ "description": "The unique id of this shared gallery."
+ }
+ },
+ "description": "The identifier information of shared gallery."
+ },
+ "SharedGalleryList": {
+ "description": "The List Shared Galleries operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGallery"
+ },
+ "description": "A list of shared galleries."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared galleries. Call ListNext() with this to fetch the next page of shared galleries."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGallery": {
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the Shared Gallery that you want to create or update."
+ },
+ "SharedGalleryImageList": {
+ "description": "The List Shared Gallery Images operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGalleryImage"
+ },
+ "description": "A list of shared gallery images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared gallery images. Call ListNext() with this to fetch the next page of shared gallery images."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGalleryImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image definition that you want to create or update."
+ },
+ "SharedGalleryImageProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. Possible values are: **Windows** **Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemStateTypes",
+ "modelAsString": false
+ }
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryImageIdentifier"
+ },
+ "recommended": {
+ "$ref": "#/definitions/RecommendedMachineConfiguration"
+ },
+ "disallowed": {
+ "$ref": "#/definitions/Disallowed"
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageFeature"
+ },
+ "description": "A list of gallery image features."
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/ImagePurchasePlan"
+ }
+ },
+ "required": [
+ "osType",
+ "osState",
+ "identifier"
+ ],
+ "description": "Describes the properties of a gallery image definition."
+ },
+ "GalleryImageFeature": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the gallery image feature."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the gallery image feature."
+ }
+ },
+ "description": "A feature for gallery image."
+ },
+ "GalleryImageIdentifier": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The name of the gallery image definition publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "The name of the gallery image definition offer."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The name of the gallery image definition SKU."
+ }
+ },
+ "required": [
+ "publisher",
+ "offer",
+ "sku"
+ ],
+ "description": "This is the gallery image definition identifier."
+ },
+ "RecommendedMachineConfiguration": {
+ "properties": {
+ "vCPUs": {
+ "$ref": "#/definitions/ResourceRange"
+ },
+ "memory": {
+ "$ref": "#/definitions/ResourceRange"
+ }
+ },
+ "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable."
+ },
+ "ResourceRange": {
+ "properties": {
+ "min": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of the resource."
+ },
+ "max": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of the resource."
+ }
+ },
+ "description": "Describes the resource range."
+ },
+ "Disallowed": {
+ "properties": {
+ "diskTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of disk types."
+ }
+ },
+ "description": "Describes the disallowed disk types."
+ },
+ "ImagePurchasePlan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The product ID."
+ }
+ },
+ "description": "Describes the gallery image definition purchase plan. This is used by marketplace images."
+ },
+ "SharedGalleryImageVersionList": {
+ "description": "The List Shared Gallery Image versions operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGalleryImageVersion"
+ },
+ "description": "A list of shared gallery images versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared gallery image versions. Call ListNext() with this to fetch the next page of shared gallery image versions."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGalleryImageVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "SharedGalleryImageVersionProperties": {
+ "properties": {
+ "publishedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The published date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable."
+ }
+ },
+ "description": "Describes the properties of a gallery image version."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "LocationNameParamter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Resource location."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
index acdb3a9dc59d..fcf7286b3a90 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
@@ -6230,6 +6230,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -6816,6 +6817,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
index 429401d44d5f..c1ca9d3fb99c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
@@ -6261,6 +6261,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -6847,6 +6848,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
index d7d39de3f591..dea2056032ca 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
@@ -4380,7 +4380,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
- "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -7183,6 +7183,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -7846,6 +7847,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
index f0df5077fd9c..a62367787669 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
@@ -2597,7 +2597,7 @@
"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.",
+ "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation. For Windows, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks). For Linux, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks).",
"parameters": [
{
"name": "resourceGroupName",
@@ -2628,6 +2628,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Generalize a Virtual Machine.": {
+ "$ref": "./examples/ConvertToManagedDisks.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
@@ -3108,7 +3113,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_PerformMaintenance",
- "description": "The operation to perform maintenance on a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4535,7 +4540,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
- "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -5555,7 +5560,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_PerformMaintenance",
- "description": "Performs maintenance on a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in a VMScaleSet, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.",
"parameters": [
{
"name": "resourceGroupName",
@@ -7735,6 +7740,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -8373,6 +8379,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json
new file mode 100644
index 000000000000..1fbfea58c94c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json
index 4e9f646b5399..dab0c1d0b7a3 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json
@@ -2894,7 +2894,7 @@
"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.",
+ "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation. For Windows, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks). For Linux, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks).",
"parameters": [
{
"name": "resourceGroupName",
@@ -2925,6 +2925,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Generalize a Virtual Machine.": {
+ "$ref": "./examples/ConvertToManagedDisks.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
@@ -3405,7 +3410,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_PerformMaintenance",
- "description": "The operation to perform maintenance on a virtual machine.",
+ "description": "Shuts down the virtual machine, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.",
"parameters": [
{
"name": "resourceGroupName",
@@ -4877,7 +4882,7 @@
"VirtualMachineScaleSets"
],
"operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
- "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -5946,7 +5951,7 @@
"VirtualMachineScaleSetVMs"
],
"operationId": "VirtualMachineScaleSetVMs_PerformMaintenance",
- "description": "Performs maintenance on a virtual machine in a VM scale set.",
+ "description": "Shuts down the virtual machine in a VMScaleSet, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.",
"parameters": [
{
"name": "resourceGroupName",
@@ -8271,6 +8276,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -8909,6 +8915,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json
new file mode 100644
index 000000000000..39ec366b8d4d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
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 817f4c62ac26..c5b9fffa733b 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
@@ -2799,6 +2799,13 @@
"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."
+ },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -5174,7 +5181,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/VirtualMachineExtension"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
},
"description": "Parameters supplied to the Create Virtual Machine Extension operation."
},
@@ -5189,13 +5196,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/VirtualMachineExtension"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/VirtualMachineExtension"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
}
},
"default": {
@@ -5252,7 +5259,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionUpdate"
},
"description": "Parameters supplied to the Update Virtual Machine Extension operation."
},
@@ -5267,7 +5274,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/VirtualMachineExtension"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
}
},
"default": {
@@ -5403,7 +5410,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/VirtualMachineExtension"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
}
},
"default": {
@@ -5467,7 +5474,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsListResult"
}
},
"default": {
@@ -6739,7 +6746,6 @@
"type": "integer",
"format": "int32",
"minimum": 1,
- "maximum": 3,
"description": "Number of fault domains that the host group can span."
},
"hosts": {
@@ -6907,7 +6913,6 @@
"type": "integer",
"format": "int32",
"minimum": 0,
- "maximum": 2,
"description": "Fault domain of the dedicated host within a dedicated host group."
},
"autoReplaceOnFailure": {
@@ -7335,6 +7340,30 @@
],
"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": {
@@ -7349,6 +7378,30 @@
],
"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": {
@@ -7361,6 +7414,18 @@
},
"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": {
@@ -8745,6 +8810,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
@@ -9409,6 +9475,7 @@
"type": "object",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json
new file mode 100644
index 000000000000..db92b1fe3928
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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": "user1pwd",
+ "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/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
index 5e3dbf00975a..40185d51f90e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
@@ -7,7 +7,6 @@
"vmExtensionName": "myVMExtension",
"api-version": "2020-06-01",
"extensionParameters": {
- "location": "westus",
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "extPublisher",
@@ -23,7 +22,6 @@
"201": {
"body": {
"name": "myVMExtension",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
"properties": {
@@ -41,7 +39,6 @@
"200": {
"body": {
"name": "myVMExtension",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..47a3f58b14ac
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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": "user1pwd",
+ "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/2020-06-01/examples/DeleteRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteRunCommand.json
new file mode 100644
index 000000000000..36cc3049720f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteRunCommand.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..9eb3ffc247fd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json
new file mode 100644
index 000000000000..b4e049882c4d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json
index 2c27ae1e263c..fbba0cdbf56c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json
@@ -21,7 +21,6 @@
}
},
"name": "myVMExtension",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..94186291bb52
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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/2020-06-01/examples/ListRunCommandsInVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListRunCommandsInVM.json
new file mode 100644
index 000000000000..d3194a3468af
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListRunCommandsInVM.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-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/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json
index f2120acb750a..f670b23fd41d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json
@@ -22,7 +22,6 @@
}
},
"name": "myVMExtension",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
},
@@ -38,7 +37,6 @@
}
},
"name": "myVMExtension1",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..79e9c50e4cd5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2020-06-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/2020-06-01/examples/UpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateRunCommand.json
new file mode 100644
index 000000000000..bfccb6265f7a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateRunCommand.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
index 659ea562168a..c1a159448f23 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
@@ -22,7 +22,6 @@
"200": {
"body": {
"name": "myVMExtension",
- "location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
"properties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..9107248c7c82
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2020-06-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/2020-06-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json
index 9759cd8205e8..a8383302baad 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json
@@ -248,6 +248,679 @@
"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": {
@@ -451,6 +1124,299 @@
"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": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json
new file mode 100644
index 000000000000..6c6f3836fb19
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json
@@ -0,0 +1,2754 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "version": "2020-06-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ },
+ "Create a managed upload disk.": {
+ "$ref": "./examples/CreateAManagedUploadDisk.json"
+ },
+ "Create a managed disk and associate with disk access resource.": {
+ "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json"
+ },
+ "Create a managed disk and associate with disk encryption set.": {
+ "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json"
+ },
+ "Create an ultra managed disk with logicalSectorSize 512E": {
+ "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Update",
+ "description": "Updates (patches) a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskUpdate"
+ },
+ "description": "Disk object supplied in the body of the Patch disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update managed disk to remove disk access resource association.": {
+ "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Gets information about a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Delete",
+ "description": "Deletes a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_ListByResourceGroup",
+ "description": "Lists all the disks under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Lists all the disks under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_GrantAccess",
+ "description": "Grants access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_RevokeAccess",
+ "description": "Revokes access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "description": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "description": "Updates (patches) a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SnapshotUpdate"
+ },
+ "description": "Snapshot object supplied in the body of the Patch snapshot operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "description": "Gets information about a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "description": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the snapshot is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "description": "Lists snapshots under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "description": "Lists snapshots under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_GrantAccess",
+ "description": "Grants access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get snapshot access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RevokeAccess",
+ "description": "Revokes access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": {
+ "put": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_CreateOrUpdate",
+ "description": "Creates or updates a disk encryption set",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "disk encryption set object supplied in the body of the Put disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a disk encryption set.": {
+ "$ref": "./examples/CreateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Update",
+ "description": "Updates (patches) a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetUpdate"
+ },
+ "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk encryption set.": {
+ "$ref": "./examples/UpdateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Get",
+ "description": "Gets information about a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk encryption set.": {
+ "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Delete",
+ "description": "Deletes a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk encryption set is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk encryption set.": {
+ "$ref": "./examples/DeleteADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListByResourceGroup",
+ "description": "Lists all the disk encryption sets under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a resource group.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_List",
+ "description": "Lists all the disk encryption sets under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a subscription.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListAssociatedResources",
+ "description": "Lists all resources that are encrypted with this disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceUriList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all resources that are encrypted with this disk encryption set.": {
+ "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": {
+ "put": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_CreateOrUpdate",
+ "description": "Creates or updates a disk access resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskAccess",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ },
+ "description": "disk access object supplied in the body of the Put disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a disk access resource.": {
+ "$ref": "./examples/CreateADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Update",
+ "description": "Updates (patches) a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskAccess",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskAccessUpdate"
+ },
+ "description": "disk access object supplied in the body of the Patch disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk access resource.": {
+ "$ref": "./examples/UpdateADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Get",
+ "description": "Gets information about a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk access resource.": {
+ "$ref": "./examples/GetInformationAboutADiskAccess.json"
+ },
+ "Get information about a disk access resource with private endpoints.": {
+ "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Delete",
+ "description": "Deletes a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk access resource is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk access resource.": {
+ "$ref": "./examples/DeleteADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_ListByResourceGroup",
+ "description": "Lists all the disk access resources under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccessList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk access resources in a resource group.": {
+ "$ref": "./examples/ListDiskAccessesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_List",
+ "description": "Lists all the disk access resources under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccessList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk access resources in a subscription.": {
+ "$ref": "./examples/ListDiskAccessesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_GetPrivateLinkResources",
+ "description": "Gets the private link resources possible under disk access resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all possible private link resources under disk access resource.": {
+ "$ref": "./examples/GetDiskAccessPrivateLinkResources.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "managedByExtended": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs."
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Logical zone list for Disk."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads."
+ },
+ {
+ "value": "StandardSSD_LRS",
+ "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test."
+ },
+ {
+ "value": "UltraSSD_LRS",
+ "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads."
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage"
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage"
+ },
+ {
+ "value": "Standard_ZRS",
+ "description": "Standard zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS."
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskIOPSReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskState": {
+ "$ref": "#/definitions/DiskState",
+ "description": "The state of the disk."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "maxShares": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time."
+ },
+ "shareInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareInfoElement"
+ },
+ "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs."
+ },
+ "networkAccessPolicy": {
+ "$ref": "#/definitions/NetworkAccessPolicy"
+ },
+ "diskAccessId": {
+ "type": "string",
+ "description": "ARM id of the DiskAccess resource for using private endpoints on disks."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Disk resource properties."
+ },
+ "SnapshotProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the snapshot was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "diskState": {
+ "$ref": "#/definitions/DiskState",
+ "description": "The state of the snapshot."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "incremental": {
+ "type": "boolean",
+ "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "networkAccessPolicy": {
+ "$ref": "#/definitions/NetworkAccessPolicy"
+ },
+ "diskAccessId": {
+ "type": "string",
+ "description": "ARM id of the DiskAccess resource for using private endpoints on disks."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Snapshot resource properties."
+ },
+ "ShareInfoElement": {
+ "properties": {
+ "vmUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ }
+ }
+ },
+ "EncryptionSetProperties": {
+ "properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/DiskEncryptionSetType"
+ },
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "The key vault key which is currently used by this disk encryption set."
+ },
+ "previousKeys": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ },
+ "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk encryption set provisioning state."
+ }
+ }
+ },
+ "EncryptionSettingsCollection": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionSettingsElement"
+ },
+ "description": "A collection of encryption settings, one for each disk volume."
+ },
+ "encryptionSettingsVersion": {
+ "type": "string",
+ "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Encryption settings for disk or snapshot"
+ },
+ "EncryptionSettingsElement": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndSecretReference",
+ "description": "Key Vault Secret Url and vault id of the disk encryption key"
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key."
+ }
+ },
+ "description": "Encryption settings for one disk volume."
+ },
+ "KeyVaultAndSecretReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "secretUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Secret Url and vault id of the encryption key "
+ },
+ "KeyVaultAndKeyReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "EncryptionType": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithPlatformKey",
+ "EncryptionAtRestWithCustomerKey",
+ "EncryptionAtRestWithPlatformAndCustomerKeys"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithPlatformKey",
+ "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets."
+ },
+ {
+ "value": "EncryptionAtRestWithCustomerKey",
+ "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer."
+ },
+ {
+ "value": "EncryptionAtRestWithPlatformAndCustomerKeys",
+ "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed."
+ }
+ ]
+ }
+ },
+ "DiskEncryptionSetType": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithCustomerKey",
+ "EncryptionAtRestWithPlatformAndCustomerKeys"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithCustomerKey",
+ "description": "Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer."
+ },
+ {
+ "value": "EncryptionAtRestWithPlatformAndCustomerKeys",
+ "description": "Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed."
+ }
+ ]
+ }
+ },
+ "Encryption": {
+ "properties": {
+ "diskEncryptionSetId": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "type": {
+ "$ref": "#/definitions/EncryptionType"
+ }
+ },
+ "description": "Encryption at rest settings for disk or snapshot"
+ },
+ "NetworkAccessPolicy": {
+ "type": "string",
+ "description": "Policy for accessing the disk via network.",
+ "enum": [
+ "AllowAll",
+ "AllowPrivate",
+ "DenyAll"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkAccessPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AllowAll",
+ "description": "The disk can be exported or uploaded to from any network."
+ },
+ {
+ "value": "AllowPrivate",
+ "description": "The disk can be exported or uploaded to using a DiskAccess resource's private endpoints."
+ },
+ {
+ "value": "DenyAll",
+ "description": "The disk cannot be exported."
+ }
+ ]
+ }
+ },
+ "DiskUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskIOPSReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "maxShares": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "networkAccessPolicy": {
+ "$ref": "#/definitions/NetworkAccessPolicy"
+ },
+ "diskAccessId": {
+ "type": "string",
+ "description": "ARM id of the DiskAccess resource for using private endpoints on disks."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks."
+ }
+ },
+ "description": "Disk resource update properties."
+ },
+ "SnapshotUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "networkAccessPolicy": {
+ "$ref": "#/definitions/NetworkAccessPolicy"
+ },
+ "diskAccessId": {
+ "type": "string",
+ "description": "ARM id of the DiskAccess resource for using private endpoints on disks."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "DiskEncryptionSetUpdateProperties": {
+ "properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/DiskEncryptionSetType"
+ },
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ }
+ },
+ "description": "disk encryption set resource update properties."
+ },
+ "DiskState": {
+ "type": "string",
+ "description": "This enumerates the possible state of the disk.",
+ "readOnly": true,
+ "enum": [
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "ActiveSAS",
+ "ReadyToUpload",
+ "ActiveUpload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unattached",
+ "description": "The disk is not being used and can be attached to a VM."
+ },
+ {
+ "value": "Attached",
+ "description": "The disk is currently mounted to a running VM."
+ },
+ {
+ "value": "Reserved",
+ "description": "The disk is mounted to a stopped-deallocated VM"
+ },
+ {
+ "value": "ActiveSAS",
+ "description": "The disk currently has an Active SAS Uri associated with it."
+ },
+ {
+ "value": "ReadyToUpload",
+ "description": "A disk is ready to be created by upload by requesting a write token."
+ },
+ {
+ "value": "ActiveUpload",
+ "description": "A disk is created for upload and a write token has been issued for uploading to it."
+ }
+ ]
+ }
+ },
+ "CreationData": {
+ "properties": {
+ "createOption": {
+ "type": "string",
+ "enum": [
+ "Empty",
+ "Attach",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "Upload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOption",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Empty",
+ "description": "Create an empty data disk of a size given by diskSizeGB."
+ },
+ {
+ "value": "Attach",
+ "description": "Disk will be attached to a VM."
+ },
+ {
+ "value": "FromImage",
+ "description": "Create a new disk from a platform image specified by the given imageReference or galleryImageReference."
+ },
+ {
+ "value": "Import",
+ "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId."
+ },
+ {
+ "value": "Copy",
+ "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId."
+ },
+ {
+ "value": "Restore",
+ "description": "Create a new disk by copying from a backup recovery point."
+ },
+ {
+ "value": "Upload",
+ "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk."
+ }
+ ]
+ },
+ "description": "This enumerates the possible sources of a disk's creation."
+ },
+ "storageAccountId": {
+ "type": "string",
+ "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk."
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Disk source information."
+ },
+ "galleryImageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk."
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk."
+ },
+ "sourceUniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "If this field is set, this is the unique id identifying the source of this resource."
+ },
+ "uploadSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)."
+ },
+ "logicalSectorSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Data used when creating a disk."
+ },
+ "ImageDiskReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A relative uri containing either a Platform Image Repository or user image reference."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The source image used for creating the disk."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "required": [
+ "access",
+ "durationInSeconds"
+ ],
+ "description": "Data used for requesting a SAS."
+ },
+ "AccessUri": {
+ "properties": {
+ "accessSAS": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A SAS uri for accessing a disk."
+ }
+ },
+ "description": "A disk access SAS uri."
+ },
+ "Snapshot": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unused. Always Null."
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation response."
+ },
+ "EncryptionSetIdentity": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetIdentityType",
+ "modelAsString": true
+ },
+ "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ }
+ },
+ "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks."
+ },
+ "DiskEncryptionSet": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EncryptionSetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk encryption set resource."
+ },
+ "DiskEncryptionSetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskEncryptionSetUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "disk encryption set update resource."
+ },
+ "DiskEncryptionSetList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "A list of disk encryption sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk encryption set operation response."
+ },
+ "ResourceUriList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List resources which are encrypted with the disk encryption set."
+ },
+ "PrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between DiskAccess and Virtual Network."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection type"
+ }
+ },
+ "description": "The Private Endpoint Connection resource."
+ },
+ "DiskAccessProperties": {
+ "properties": {
+ "privateEndpointConnections": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk access resource provisioning state."
+ },
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk access was created."
+ }
+ }
+ },
+ "DiskAccess": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskAccessProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk access resource."
+ },
+ "DiskAccessList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskAccess"
+ },
+ "description": "A list of disk access resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk access operation response."
+ },
+ "DiskAccessUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "Used for updating a disk access resource."
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource type"
+ }
+ },
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskEncryptionSetNameParameter": {
+ "name": "diskEncryptionSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskAccessNameParameter": {
+ "name": "diskAccessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json
new file mode 100644
index 000000000000..e0eb2d326d00
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess",
+ "diskAccess": {
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskAccess",
+ "location": "West US",
+ "type": "Microsoft.Compute/diskAccesses"
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskAccess",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json
new file mode 100644
index 000000000000..fbd1a70c3541
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..f7e4e41bdd8c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..589a24e6fc0d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..a3776d835c85
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..7a05366bc472
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..68922f429d08
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk2",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json
new file mode 100644
index 000000000000..95857a36f193
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "networkAccessPolicy": "AllowPrivate",
+ "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Succeeded",
+ "networkAccessPolicy": "AllowPrivate",
+ "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..934ee8105dae
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "encryption": {
+ "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json
new file mode 100644
index 000000000000..ef1e7cffc76d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "sku": {
+ "name": "UltraSSD_LRS"
+ },
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "UltraSSD_LRS",
+ "tier": "Ultra"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "UltraSSD_LRS",
+ "tier": "Ultra"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json
new file mode 100644
index 000000000000..1f5a6c842eed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..4938448c4452
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..5a74852eb5e5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..dad908891df8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..07b205ae4e1a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json
new file mode 100644
index 000000000000..8b2a0672cdda
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskAccessName": "myDiskAccess",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json
new file mode 100644
index 000000000000..7110b2621858
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json
new file mode 100644
index 000000000000..81224cffb7dc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateLinkResources/disks",
+ "name": "disks",
+ "type": "Microsoft.Compute/diskAccesses/privateLinkResources",
+ "properties": {
+ "groupId": "disks",
+ "requiredMembers": [
+ "diskAccess_1"
+ ],
+ "requiredZoneNames": [
+ "privatelink.blob.core.windows.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json
new file mode 100644
index 000000000000..241f0a434455
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
new file mode 100644
index 000000000000..675516844252
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json
new file mode 100644
index 000000000000..096dbf8c6f25
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..7b81ebdf8901
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..be9a074a1295
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json
new file mode 100644
index 000000000000..6b4fd51a4884
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ },
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2",
+ "name": "myDiskAccess2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json
new file mode 100644
index 000000000000..61e8dc0b8396
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ },
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2",
+ "name": "myDiskAccess2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json
new file mode 100644
index 000000000000..a6ce0eb683d7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json
new file mode 100644
index 000000000000..6dfbba43554d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json
new file mode 100644
index 000000000000..00713b44d520
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..f74e45c654c0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..459fe55fd6d9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..0874439e3ab8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..d7c9b1c683bc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json
new file mode 100644
index 000000000000..c7a4b67d60c4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess",
+ "diskAccess": {
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskAccess",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "West US",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskAccess",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "West US",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json
new file mode 100644
index 000000000000..e224ff0d64bf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json
new file mode 100644
index 000000000000..9a3a372e812d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "networkAccessPolicy": "AllowAll"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating",
+ "networkAccessPolicy": "AllowAll"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Succeeded",
+ "networkAccessPolicy": "AllowAll"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..81b6c3e59c77
--- /dev/null
+++ b/specification/compute/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,308 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerservice-2017-01-31
+ - tag: schema-containerservice-2016-09-30
+ - tag: schema-containerservice-2016-03-30
+ - tag: schema-containerservice-2015-11-01-preview
+ - tag: schema-compute-2020-09-30
+ - tag: schema-compute-2020-06-30
+ - tag: schema-compute-2020-06-01
+ - tag: schema-compute-2020-05-01
+ - tag: schema-compute-2019-12-01
+ - tag: schema-compute-2019-11-01
+ - tag: schema-compute-2019-07-01
+ - tag: schema-compute-2019-04-01
+ - tag: schema-compute-2019-03-01
+ - tag: schema-compute-2018-10-01
+ - tag: schema-compute-2018-09-30
+ - tag: schema-compute-2018-06-01
+ - tag: schema-compute-2018-04-01
+ - tag: schema-compute-2017-12-01
+ - tag: schema-compute-2017-09-01
+ - tag: schema-compute-2017-03-30
+ - tag: schema-compute-2016-04-30-preview
+ - tag: schema-compute-2016-03-30
+ - tag: schema-compute-2015-06-15
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerservice-2017-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-01-31/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-09-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-03-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2015-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2015-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
+
+```
+
+### Tag: schema-compute-2020-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/preview/2020-09-30/gallery.json
+ - Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+
+```
+
+### Tag: schema-compute-2020-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-06-30/disk.json
+
+```
+
+### Tag: schema-compute-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-06-01/compute.json
+ - Microsoft.Compute/stable/2020-06-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-05-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-12-01/gallery.json
+ - Microsoft.Compute/stable/2019-12-01/compute.json
+ - Microsoft.Compute/stable/2019-12-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-11-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-07-01/compute.json
+ - Microsoft.Compute/stable/2019-07-01/runCommands.json
+ - Microsoft.Compute/stable/2019-07-01/gallery.json
+ - Microsoft.Compute/stable/2019-07-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-04-01/skus.json
+
+```
+
+### Tag: schema-compute-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-03-01/compute.json
+ - Microsoft.Compute/stable/2019-03-01/runCommands.json
+ - Microsoft.Compute/stable/2019-03-01/disk.json
+ - Microsoft.Compute/stable/2019-03-01/gallery.json
+
+```
+
+### Tag: schema-compute-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-10-01/compute.json
+ - Microsoft.Compute/stable/2018-10-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2018-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-09-30/disk.json
+
+```
+
+### Tag: schema-compute-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-06-01/gallery.json
+ - Microsoft.Compute/stable/2018-06-01/disk.json
+ - Microsoft.Compute/stable/2018-06-01/compute.json
+ - Microsoft.Compute/stable/2018-06-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-04-01/compute.json
+ - Microsoft.Compute/stable/2018-04-01/runCommands.json
+ - Microsoft.Compute/stable/2018-04-01/disk.json
+
+```
+
+### Tag: schema-compute-2017-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-12-01/compute.json
+ - Microsoft.Compute/stable/2017-12-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2017-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-09-01/skus.json
+
+```
+
+### Tag: schema-compute-2017-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-03-30/disk.json
+ - Microsoft.Compute/stable/2017-03-30/compute.json
+ - Microsoft.Compute/stable/2017-03-30/runCommands.json
+
+```
+
+### Tag: schema-compute-2016-04-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2016-04-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/preview/2016-04-30-preview/compute.json
+ - Microsoft.Compute/preview/2016-04-30-preview/disk.json
+
+```
+
+### Tag: schema-compute-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2016-03-30/compute.json
+
+```
+
+### Tag: schema-compute-2015-06-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2015-06-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2015-06-15/compute.json
+
+```
diff --git a/specification/compute/resource-manager/readme.csharp.md b/specification/compute/resource-manager/readme.csharp.md
index 3e85a94bd63f..8cb171aff28e 100644
--- a/specification/compute/resource-manager/readme.csharp.md
+++ b/specification/compute/resource-manager/readme.csharp.md
@@ -94,3 +94,15 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Compute/Management.Comput
batch:
- tag: profile-hybrid-2019-03-01
```
+
+### Profile: hybrid_2020_09_01
+
+These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line.
+
+``` yaml $(csharp-profile)=='hybrid_2020_09_01'
+namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Compute
+output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Compute/Management.Compute/Generated
+
+batch:
+ - tag: profile-hybrid-2020-09-01
+ ```
\ No newline at end of file
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index 561571b385b6..8ef9b3f63da9 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -31,6 +31,7 @@ directive:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06-30
- tag: package-2020-06-01
- tag: package-2019-12-01
- tag: package-2019-07
@@ -50,6 +51,16 @@ batch:
- tag: package-container-service-2015-11-preview
```
+### Tag: package-2020-06-30 and go
+
+These settings apply only when `--tag=package-2020-06-30 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2020-06-30' && $(go)
+namespace: compute
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-30/$(namespace)
+```
+
### Tag: package-2020-06-01 and go
These settings apply only when `--tag=package-2020-06-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 ffe6a70bb98a..5bc5b1ffc8e6 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -34,7 +34,7 @@ These are the global settings for the Compute API.
title: ComputeManagementClient
description: Compute Client
openapi-type: arm
-tag: package-2020-06-01
+tag: package-2020-09-30
directive:
- where:
@@ -209,6 +209,53 @@ directive:
- ACS service is deprecated so a PATCH endpoint won't be implemented
```
+### Tag: package-2020-09-30
+
+These settings apply only when `--tag=package-2020-09-30` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-30'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-06-30/disk.json
+- Microsoft.Compute/preview/2020-09-30/gallery.json
+- Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
+### Tag: package-2020-09-30-only
+
+These settings apply only when `--tag=package-2020-09-30-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-30-only'
+input-file:
+- Microsoft.Compute/preview/2020-09-30/gallery.json
+- Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+```
+
+### Tag: package-2020-06-30
+
+These settings apply only when `--tag=package-2020-06-30` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-06-30/disk.json
+- Microsoft.Compute/stable/2019-12-01/gallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
+### Tag: package-2020-06-30-only
+
+These settings apply only when `--tag=package-2020-06-30-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30-only'
+input-file:
+- Microsoft.Compute/stable/2020-06-30/disk.json
+```
### Tag: package-2020-06-01
@@ -712,6 +759,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_compute']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js compute/resource-manager
```
## Go
@@ -736,12 +786,26 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-compute
```yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-06-01
- tag: package-disks-2018-04
- tag: package-compute-only-2017-12
- tag: package-skus-2017-09
- tag: package-compute-2017-03
```
+### Tag: package-2020-06-01 and java
+
+These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.compute.v2020_06_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/compute/mgmt-v2020_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-disks-2018-04 and java
These settings apply only when `--tag=package-disks-2018-04 --java` is specified on the command line.
@@ -805,66 +869,17 @@ input-file:
- Microsoft.Compute/stable/2017-03-30/disk.json
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Compute/stable/2020-06-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2020-06-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json
- - $(this-folder)/Microsoft.Compute/stable/2020-05-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json
- - $(this-folder)/Microsoft.Compute/stable/2019-12-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2019-12-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2019-11-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2019-07-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2019-07-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2019-07-01/gallery.json
- - $(this-folder)/Microsoft.Compute/stable/2019-07-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2019-03-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2019-03-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2019-03-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2019-03-01/gallery.json
- - $(this-folder)/Microsoft.Compute/stable/2018-10-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2018-10-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2017-09-01/skus.json
- - $(this-folder)/Microsoft.Compute/stable/2018-09-30/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2018-06-01/gallery.json
- - $(this-folder)/Microsoft.Compute/stable/2018-06-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2018-06-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2018-06-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2018-04-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2018-04-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2018-04-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2017-12-01/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2017-12-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2017-03-30/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2017-03-30/compute.json
- - $(this-folder)/Microsoft.Compute/stable/2017-03-30/runCommands.json
- - $(this-folder)/Microsoft.ContainerService/stable/2016-09-30/containerService.json
- - $(this-folder)/Microsoft.Compute/preview/2016-04-30-preview/compute.json
- - $(this-folder)/Microsoft.Compute/preview/2016-04-30-preview/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2016-03-30/compute.json
- - $(this-folder)/Microsoft.ContainerService/stable/2016-03-30/containerService.json
- - $(this-folder)/Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
- - $(this-folder)/Microsoft.Compute/stable/2015-06-15/compute.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
+### Tag: profile-hybrid-2020-09-01
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
+Creating this tag to pick proper resources from the hybrid profile.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2019-07-01/disk.json
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
\ No newline at end of file
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index 5d0b014f83e8..8dc4338cd615 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -44,6 +44,8 @@ Generate all API versions currently shipped for this package
```yaml $(multiapi) && !$(track2)
batch:
+ - tag: package-2020-09-30-only
+ - tag: package-2020-06-30-only
- tag: package-2020-06-01-only
- tag: package-2020-05-01-only
- tag: package-2019-12-01-only
@@ -66,6 +68,8 @@ batch:
```yaml $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-2020-09-30-only
+ - tag: package-2020-06-30-only
- tag: package-2020-06-01-only
- tag: package-2020-05-01-only
- tag: package-2019-12-01-only
@@ -92,6 +96,32 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2020-09-30-only and python
+
+These settings apply only when `--tag=package-2020-09-30-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-09-30-only'
+namespace: azure.mgmt.compute.v2020_09_30
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30
+python:
+ namespace: azure.mgmt.compute.v2020_09_30
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30
+```
+
+### Tag: package-2020-06-30-only and python
+
+These settings apply only when `--tag=package-2020-06-30-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-30-only'
+namespace: azure.mgmt.compute.v2020_06_30
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30
+python:
+ namespace: azure.mgmt.compute.v2020_06_30
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30
+```
+
### Tag: package-2020-06-01-only and python
These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line.
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
new file mode 100644
index 000000000000..029e2e3e1de3
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
@@ -0,0 +1,719 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Confluent",
+ "version": "2020-03-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Confluent/operations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all operations provided by Microsoft.Confluent.",
+ "operationId": "OrganizationOperations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrganizationOperations_List": {
+ "$ref": "./examples/OrganizationOperations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/organizations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all organizations under the specified subscription.",
+ "operationId": "Organization_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Organization_ListBySubscription": {
+ "$ref": "./examples/Organization_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all Organizations under the specified resource group.",
+ "operationId": "Organization_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Organization_ListByResourceGroup": {
+ "$ref": "./examples/Organization_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations/{organizationName}": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Get the properties of a specific Organization resource.",
+ "operationId": "Organization_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Organization_Get": {
+ "$ref": "./examples/Organization_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Create Organization resource",
+ "operationId": "Organization_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Organization resource model",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Organization_Create": {
+ "$ref": "./examples/Organization_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Update Organization resource",
+ "operationId": "Organization_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Updated Organization resource",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Confluent_Update": {
+ "$ref": "./examples/Organization_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Delete Organization resource",
+ "operationId": "Organization_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "The specified confluent resource does not exist in the subscription."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Confluent_Delete": {
+ "$ref": "./examples/Organization_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Confluent",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'clusters'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write confluent'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "An Confluent REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list Confluent operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Confluent operations supported by the Microsoft.Confluent provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponseBody": {
+ "description": "Response body of Error",
+ "title": "ErrorResponseBody",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Error target",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Error detail",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ }
+ },
+ "ResourceProviderDefaultErrorResponse": {
+ "type": "object",
+ "description": "Default error response for resource provider",
+ "title": "ResourceProviderDefaultErrorResponse",
+ "properties": {
+ "error": {
+ "description": "Response body of Error",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleted",
+ "NotSpecified"
+ ],
+ "type": "string",
+ "description": "Provision states for confluent RP",
+ "title": "ProvisioningState",
+ "x-ms-enum": {
+ "name": "ProvisionState",
+ "modelAsString": true
+ }
+ },
+ "SaaSOfferStatus": {
+ "enum": [
+ "Started",
+ "PendingFulfillmentStart",
+ "InProgress",
+ "Subscribed",
+ "Suspended",
+ "Reinstated",
+ "Succeeded",
+ "Failed",
+ "Unsubscribed",
+ "Updating"
+ ],
+ "type": "string",
+ "description": "SaaS Offer Status for confluent RP",
+ "title": "SaaSOfferStatus",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SaaSOfferStatus"
+ }
+ },
+ "OfferDetail": {
+ "description": "Confluent Offer detail",
+ "type": "object",
+ "properties": {
+ "publisherId": {
+ "description": "Publisher Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "id": {
+ "description": "Offer Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "planId": {
+ "description": "Offer Plan Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "planName": {
+ "description": "Offer Plan Name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "termUnit": {
+ "description": "Offer Plan Term unit",
+ "maxLength": 25,
+ "type": "string"
+ },
+ "status": {
+ "description": "SaaS Offer Status",
+ "$ref": "#/definitions/SaaSOfferStatus"
+ }
+ }
+ },
+ "UserDetail": {
+ "description": "Subscriber detail",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "description": "First name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "lastName": {
+ "description": "Last name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email address",
+ "pattern": "^\\S+@\\S+\\.\\S+$",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceProperties": {
+ "description": "Organization resource property",
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "format": "date-time",
+ "description": "The creation time of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provision states for confluent RP",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "organizationId": {
+ "description": "Id of the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ssoUrl": {
+ "description": "SSO url for the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerDetail": {
+ "description": "Confluent offer detail",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OfferDetail"
+ }
+ ]
+ },
+ "userDetail": {
+ "description": "Subscriber detail",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserDetail"
+ }
+ ]
+ }
+ }
+ },
+ "OrganizationResource": {
+ "description": "Organization resource.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Organization resource properties",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OrganizationResourceProperties"
+ }
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "description": "Organization resource tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "Location of Organization resource",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceListResult": {
+ "description": "The response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Result of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceUpdate": {
+ "description": "Organization Resource update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "ARM resource tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2020-03-01-preview"
+ ]
+ },
+ "SubscriptionIdParameter": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "Microsoft Azure subscription id",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "in": "path",
+ "name": "resourceGroupName",
+ "description": "Resource group name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OrganizationResourceNameParameter": {
+ "in": "path",
+ "name": "organizationName",
+ "description": "Organization resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json
new file mode 100644
index 000000000000..cf08589e54db
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Confluent/organizations/Read",
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Get/List organization resources",
+ "description": "Read organization"
+ }
+ },
+ {
+ "name": "Microsoft.Confluent/organizations/Write",
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Create/Update organization resources",
+ "description": "Write organization"
+ }
+ },
+ {
+ "name": "Microsoft.Confluent/organizations/Delete",
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Delete organization resources",
+ "description": "Delete organization"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json
new file mode 100644
index 000000000000..43c399cb2428
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "organizationName": "myOrganization",
+ "body": {
+ "properties": {
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Succeeded",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json
new file mode 100644
index 000000000000..9621d3e6929b
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "organizationName": "myOrganization"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json
new file mode 100644
index 000000000000..881c6de0d126
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "organizationName": "myOrganization"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json
new file mode 100644
index 000000000000..8f8df808e8af
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-03-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.Confluent/organizations/myOrganizations",
+ "name": "myOrganizations",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json
new file mode 100644
index 000000000000..77d8875f22c1
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations",
+ "name": "myOrganizations",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json
new file mode 100644
index 000000000000..ced813639343
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "organizationName": "myOrganization",
+ "body": {
+ "tags": {
+ "env": "dev",
+ "client": "dev-client"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Succeeded",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/readme.azureresourceschema.md b/specification/confluent/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4fd32b215793
--- /dev/null
+++ b/specification/confluent/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-confluent-2020-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-confluent-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-confluent-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
+
+```
diff --git a/specification/confluent/resource-manager/readme.csharp.md b/specification/confluent/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..6ce99f227179
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.csharp.md
@@ -0,0 +1,14 @@
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.Confluent
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/confluent/Microsoft.Azure.Management.Confluent/src/Generated
+ clear-output-folder: true
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.go.md b/specification/confluent/resource-manager/readme.go.md
new file mode 100644
index 000000000000..11ba4585bdff
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: confluent
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview and go
+
+These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-03-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.java.md b/specification/confluent/resource-manager/readme.java.md
new file mode 100644
index 000000000000..77fc8ec919e6
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.java.md
@@ -0,0 +1,33 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.confluent
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-confluent
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview and java
+
+These settings apply only when `--tag=package-2020-03-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-03-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.confluent.v2020_03_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/confluent/mgmt-v2020_03_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md
new file mode 100644
index 000000000000..abc71a674bb0
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.md
@@ -0,0 +1,122 @@
+# Confluent
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Confluent.
+
+
+
+---
+## Getting Started
+To build the SDK for Confluent, 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 Confluent API.
+
+``` yaml
+title: ConfluentManagementClient
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview
+
+These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-03-01-preview'
+input-file:
+- Microsoft.Confluent/preview/2020-03-01-preview/confluent.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-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_confluent']
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js confluent/resource-manager
+```
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
+## Node.js
+
+See configuration in [readme.nodejs.md](./readme.nodejs.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)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Confluent/preview/2020-03-01-preview/confluent.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
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.nodejs.md b/specification/confluent/resource-manager/readme.nodejs.md
new file mode 100644
index 000000000000..340d54169ee4
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-arm-confluent
+ output-folder: $(node-sdks-folder)/lib/services/confluentManagement
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/confluent/resource-manager/readme.python.md b/specification/confluent/resource-manager/readme.python.md
new file mode 100644
index 000000000000..e26460adc6cc
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.python.md
@@ -0,0 +1,41 @@
+## 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.confluent
+ package-name: azure-mgmt-confluent
+ package-version: 1.0.0b1
+ 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.confluent
+package-name: azure-mgmt-confluent
+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-confluent/azure/mgmt/confluent
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/azure-mgmt-confluent/azure/mgmt/confluent
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-confluent
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/azure-mgmt-confluent
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.ruby.md b/specification/confluent/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..44c50b6d016c
--- /dev/null
+++ b/specification/confluent/resource-manager/readme.ruby.md
@@ -0,0 +1,26 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_mgmt_confluent
+package-version: 2020-03-01-preview
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-03-01-preview' && $(ruby)
+namespace: Microsoft.Confluent
+output-folder: $(ruby-sdks-folder)/confluent
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.typescript.md b/specification/confluent/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..408cc2d9b895
--- /dev/null
+++ b/specification/confluent/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-confluent"
+ output-folder: "$(typescript-sdks-folder)/sdk/confluent/arm-confluent"
+ clear-output-folder: true
+ generate-metadata: true
+```
\ 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 071d5f14e011..ee96fd1212d6 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
@@ -792,6 +792,9 @@
},
"ReservationSummariesMonthlyWithBillingProfileId": {
"$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileId.json"
+ },
+ "ReservationSummariesMonthlyWithBillingProfileIdReservationId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json"
}
},
"parameters": [
@@ -824,6 +827,22 @@
"required": false,
"type": "string"
},
+ {
+ "name": "reservationId",
+ "in": "query",
+ "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "reservationOrderId",
+ "in": "query",
+ "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
{
"$ref": "#/parameters/apiVersionParameter"
}
@@ -868,7 +887,7 @@
},
{
"name": "$filter",
- "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
"in": "query",
"required": true,
"type": "string"
@@ -964,6 +983,9 @@
},
"ReservationDetailsByBillingProfileId": {
"$ref": "./examples/ReservationDetailsByBillingProfileId.json"
+ },
+ "ReservationDetailsByBillingProfileIdReservationId": {
+ "$ref": "./examples/ReservationDetailsByBillingProfileIdReservationId.json"
}
},
"parameters": [
@@ -993,6 +1015,22 @@
"required": false,
"type": "string"
},
+ {
+ "name": "reservationId",
+ "in": "query",
+ "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "reservationOrderId",
+ "in": "query",
+ "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
{
"$ref": "#/parameters/apiVersionParameter"
}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..b6c7a8324acf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1",
+ "name": "reservationDetails_Id1",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "usageDate": "2019-09-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..4d7621b008d8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "grain": "monthly",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..cdf86806a081
--- /dev/null
+++ b/specification/consumption/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,204 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-consumption-2019-10-01
+ - tag: schema-consumption-2019-06-01
+ - tag: schema-consumption-2019-05-01-preview
+ - tag: schema-consumption-2019-05-01
+ - tag: schema-consumption-2019-04-01-preview
+ - tag: schema-consumption-2019-01-01
+ - tag: schema-consumption-2018-11-01-preview
+ - tag: schema-consumption-2018-10-01
+ - tag: schema-consumption-2018-08-31
+ - tag: schema-consumption-2018-06-30
+ - tag: schema-consumption-2018-05-31
+ - tag: schema-consumption-2018-03-31
+ - tag: schema-consumption-2018-01-31
+ - tag: schema-consumption-2017-12-30-preview
+ - tag: schema-consumption-2017-11-30
+ - tag: schema-consumption-2017-04-24-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-consumption-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-10-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-06-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-05-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2019-04-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-01-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-10-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-08-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-08-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-08-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-06-30/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-05-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-05-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-05-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-03-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-01-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-12-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-12-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2017-12-30-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-11-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-11-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2017-11-30/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-04-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-04-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
+
+```
diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md
index 2cd5284033ad..a0de97215d8d 100644
--- a/specification/consumption/resource-manager/readme.go.md
+++ b/specification/consumption/resource-manager/readme.go.md
@@ -22,8 +22,17 @@ batch:
- tag: package-2018-08
- tag: package-2018-10
- tag: package-2019-01
+ - tag: package-2019-10
```
+### Tag: package-2019-10 and go
+
+These settings apply only when `--tag=package-2019-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
### Tag: package-2017-04-preview and go
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 645375a2b3dd..575e341b41c9 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -219,6 +219,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js consumption/resource-manager
```
## C#
@@ -404,41 +407,7 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Consumption/stable/2019-10-01/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2019-06-01/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2019-05-01/consumption.json
- - $(this-folder)/Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
- - $(this-folder)/Microsoft.Consumption/preview/2019-04-01-preview/consumption.json
- - $(this-folder)/Microsoft.Consumption/preview/2018-11-01-preview/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2019-01-01/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2017-11-30/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-01-31/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-03-31/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-05-31/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-06-30/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-08-31/consumption.json
- - $(this-folder)/Microsoft.Consumption/stable/2018-10-01/consumption.json
- - $(this-folder)/Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
- - $(this-folder)/Microsoft.Consumption/preview/2017-12-30-preview/consumption.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/containerinstance/resource-manager/readme.azureresourceschema.md b/specification/containerinstance/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..60456759fd2a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,120 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerinstance-2019-12-01
+ - tag: schema-containerinstance-2018-10-01
+ - tag: schema-containerinstance-2018-09-01
+ - tag: schema-containerinstance-2018-06-01
+ - tag: schema-containerinstance-2018-04-01
+ - tag: schema-containerinstance-2018-02-01-preview
+ - tag: schema-containerinstance-2017-12-01-preview
+ - tag: schema-containerinstance-2017-10-01-preview
+ - tag: schema-containerinstance-2017-08-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerinstance-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json
+
+```
diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md
index 0aa15d6d6fee..f2c0f633cb1a 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -140,6 +140,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerinstance/resource-manager
```
## C#
@@ -171,34 +174,7 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
See configuration in [readme.typescript.md](./readme.typescript.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.ContainerInstance/stable/2019-12-01/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json
- - $(this-folder)/Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
index 8f4a653587c2..33c8f670d108 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
@@ -382,6 +382,9 @@
},
"Registries_ScheduleRun_WithCustomCredentials": {
"$ref": "./examples/RegistriesScheduleRun_WithCustomCredentials.json"
+ },
+ "Registries_ScheduleRun_WithLogTemplate": {
+ "$ref": "./examples/RegistriesScheduleRun_WithLogTemplate.json"
}
}
}
@@ -1154,6 +1157,9 @@
},
"Tasks_Create_WithUserIdentities": {
"$ref": "./examples/ManagedIdentity/TasksCreate_WithUserIdentities.json"
+ },
+ "Tasks_Create_QuickTask": {
+ "$ref": "./examples/TasksCreate_QuickTask.json"
}
}
},
@@ -1269,6 +1275,9 @@
},
"Tasks_Update_WithOpaqueCustomCredentials": {
"$ref": "./examples/TasksUpdate_WithOpaqueCustomCredentials.json"
+ },
+ "Tasks_Update_QuickTask": {
+ "$ref": "./examples/TasksUpdate_QuickTask.json"
}
}
}
@@ -1459,6 +1468,10 @@
"agentPoolName": {
"description": "The dedicated agent pool for the run.",
"type": "string"
+ },
+ "logTemplate": {
+ "description": "The template that describes the repository and tag information for run log artifact.",
+ "type": "string"
}
},
"discriminator": "type"
@@ -1594,6 +1607,11 @@
"description": "The update trigger token passed for the Run.",
"type": "string"
},
+ "logArtifact": {
+ "$ref": "#/definitions/ImageDescriptor",
+ "description": "The image description for the log artifact.",
+ "readOnly": true
+ },
"provisioningState": {
"description": "The provisioning state of a run.",
"enum": [
@@ -2095,10 +2113,6 @@
},
"TaskProperties": {
"description": "The properties of a task.",
- "required": [
- "platform",
- "step"
- ],
"type": "object",
"properties": {
"provisioningState": {
@@ -2167,6 +2181,15 @@
"credentials": {
"$ref": "#/definitions/Credentials",
"description": "The properties that describes a set of credentials that will be used when this run is invoked."
+ },
+ "logTemplate": {
+ "description": "The template that describes the repository and tag information for run log artifact.",
+ "type": "string"
+ },
+ "isSystemTask": {
+ "description": "The value of this property indicates whether the task resource is system task or not.",
+ "default": false,
+ "type": "boolean"
}
}
},
@@ -2614,6 +2637,10 @@
"credentials": {
"$ref": "#/definitions/Credentials",
"description": "The parameters that describes a set of credentials that will be used when this run is invoked."
+ },
+ "logTemplate": {
+ "description": "The template that describes the repository and tag information for run log artifact.",
+ "type": "string"
}
}
},
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
index 98a8d6b98259..c19f52749dc3 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
@@ -67,7 +67,9 @@
"updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo",
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"location": "eastus",
"identity": {
@@ -141,7 +143,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -222,7 +226,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
index eeeb532c2556..d17ccca5c89f 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
@@ -65,7 +65,9 @@
"name": "myBaseImageTrigger",
"baseImageTriggerType": "Runtime"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"location": "eastus",
"identity": {
@@ -134,7 +136,9 @@
"status": "Enabled",
"baseImageTriggerType": "Runtime"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -207,7 +211,9 @@
"status": "Enabled",
"baseImageTriggerType": "Runtime"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
index 06577bf137e2..faf70131a4de 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
@@ -67,7 +67,9 @@
"updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo",
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"location": "eastus",
"identity": {
@@ -142,7 +144,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -225,7 +229,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Default"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
index edbd95c29df8..50ecf2ddaab9 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
@@ -48,7 +48,8 @@
"identity": "[system]"
}
}
- }
+ },
+ "logTemplate": null
},
"tags": {
"testkey": "value"
@@ -121,7 +122,8 @@
"myregistry.azurecr.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -202,7 +204,8 @@
"myregistry.azurecr.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
index fc5ca27f5bcd..031821d89740 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
@@ -40,7 +40,8 @@
"identity": "[system]"
}
}
- }
+ },
+ "logTemplate": null
},
"tags": {
"testkey": "value"
@@ -111,7 +112,8 @@
"myregistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -190,7 +192,8 @@
"myregistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json
new file mode 100644
index 000000000000..5f78b70041b5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "runRequest": {
+ "type": "DockerBuildRequest",
+ "isArchiveEnabled": true,
+ "imageNames": [
+ "azurerest:testtag"
+ ],
+ "noCache": true,
+ "sourceLocation": "https://myaccount.blob.core.windows.net/sascontainer/source.zip?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D",
+ "arguments": [
+ {
+ "name": "mytestargument",
+ "value": "mytestvalue",
+ "isSecret": false
+ },
+ {
+ "name": "mysecrettestargument",
+ "value": "mysecrettestvalue",
+ "isSecret": true
+ }
+ ],
+ "isPushEnabled": true,
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "dockerFilePath": "DockerFile",
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runId": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "status": "Succeeded",
+ "lastUpdatedTime": "2018-01-25T05:13:51.617Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
+ "name": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "type": "Microsoft.ContainerRegistry/registries/run"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json
index cd6d56392ffd..5df1bb3606f4 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json
@@ -46,6 +46,12 @@
},
"agentConfiguration": {
"cpu": 2
+ },
+ "logArtifact": {
+ "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0",
+ "registry": "myregistry",
+ "repository": "acr/tasks",
+ "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log"
}
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json
index 08cf3291f7c3..59743c38a91d 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json
@@ -49,6 +49,12 @@
},
"agentConfiguration": {
"cpu": 2
+ },
+ "logArtifact": {
+ "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0",
+ "registry": "myregistry",
+ "repository": "acr/tasks",
+ "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log"
}
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json
index 67554f360bd5..a6f2cc6fbbcb 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json
@@ -49,6 +49,12 @@
},
"agentConfiguration": {
"cpu": 2
+ },
+ "logArtifact": {
+ "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0",
+ "registry": "myregistry",
+ "repository": "acr/tasks",
+ "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log"
}
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
@@ -95,6 +101,12 @@
},
"agentConfiguration": {
"cpu": 2
+ },
+ "logArtifact": {
+ "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0",
+ "registry": "myregistry",
+ "repository": "acr/tasks",
+ "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log"
}
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json
index 6200b73c0b1e..059a023711c4 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json
@@ -67,7 +67,9 @@
"updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo",
"updateTriggerPayloadType": "Token"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"location": "eastus",
"identity": {
@@ -138,7 +140,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Token"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -213,7 +217,9 @@
"updateTriggerEndpoint": null,
"updateTriggerPayloadType": "Token"
}
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json
new file mode 100644
index 000000000000..1766aa626b10
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskName": "quicktask",
+ "taskCreateParameters": {
+ "properties": {
+ "status": "Enabled",
+ "isSystemTask": true,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "location": "eastus",
+ "identity": null,
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-01-25T06:54:23.536Z",
+ "status": "Enabled",
+ "platform": null,
+ "agentConfiguration": null,
+ "trigger": null,
+ "isSystemTask": true,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
+ "name": "quicktask",
+ "type": "Microsoft.ContainerRegistry/registries/tasks",
+ "location": "eastus",
+ "identity": null,
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-01-25T06:54:23.536Z",
+ "status": "Enabled",
+ "platform": null,
+ "agentConfiguration": null,
+ "trigger": null,
+ "isSystemTask": true,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
+ "name": "quicktask",
+ "type": "Microsoft.ContainerRegistry/registries/tasks",
+ "location": "eastus",
+ "identity": null,
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json
index 35233c27670d..76a4c616f2d7 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json
@@ -72,7 +72,9 @@
"myregistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json
index a68531461844..c10ac1068236 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json
@@ -89,7 +89,9 @@
}
},
"sourceRegistry": null
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"location": "eastus",
"identity": {
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json
index f76332bc0790..0953671b5f8a 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json
@@ -73,7 +73,9 @@
"myRegistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json
index fb0e6621cb2e..bcc5d2966d67 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json
@@ -48,7 +48,8 @@
"identity": "[system]"
}
}
- }
+ },
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"tags": {
"testkey": "value"
@@ -121,7 +122,8 @@
"myregistry.azurecr.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -202,7 +204,8 @@
"myregistry.azurecr.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json
new file mode 100644
index 000000000000..7d067bad1519
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskName": "quicktask",
+ "taskUpdateParameters": {
+ "properties": {
+ "status": "Enabled",
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-01-25T06:54:23.536Z",
+ "status": "Enabled",
+ "platform": null,
+ "agentConfiguration": null,
+ "trigger": null,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
+ "name": "myTask",
+ "type": "Microsoft.ContainerRegistry/registries/tasks",
+ "location": "eastus",
+ "identity": null,
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-01-25T06:54:23.536Z",
+ "status": "Enabled",
+ "platform": null,
+ "agentConfiguration": null,
+ "trigger": null,
+ "logTemplate": "acr/tasks:{{.Run.OS}}"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
+ "name": "quicktask",
+ "type": "Microsoft.ContainerRegistry/registries/tasks",
+ "location": "eastus",
+ "identity": null,
+ "tags": {
+ "testkey": "value"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json
index 8072e5b19b6e..70a55b828b9e 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json
@@ -47,7 +47,8 @@
}
}
}
- }
+ },
+ "logTemplate": null
},
"tags": {
"testkey": "value"
@@ -118,7 +119,8 @@
"myregistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
@@ -197,7 +199,9 @@
"myregistry.azure.io": null
},
"sourceRegistry": null
- }
+ },
+ "isSystemTask": false,
+ "logTemplate": null
},
"id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask",
"name": "myTask",
diff --git a/specification/containerregistry/resource-manager/readme.azureresourceschema.md b/specification/containerregistry/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6668c2cecf11
--- /dev/null
+++ b/specification/containerregistry/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,144 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerregistry-2019-12-01-preview
+ - tag: schema-containerregistry-2019-06-01-preview
+ - tag: schema-containerregistry-2019-05-01-preview
+ - tag: schema-containerregistry-2019-05-01
+ - tag: schema-containerregistry-2019-04-01
+ - tag: schema-containerregistry-2018-09-01
+ - tag: schema-containerregistry-2018-02-01-preview
+ - tag: schema-containerregistry-2017-10-01
+ - tag: schema-containerregistry-2017-06-01-preview
+ - tag: schema-containerregistry-2017-03-01
+ - tag: schema-containerregistry-2016-06-27-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerregistry-2019-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2019-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
+
+```
+
+### Tag: schema-containerregistry-2019-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2018-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2018-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2018-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2018-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2017-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2017-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2017-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2016-06-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2016-06-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json
+
+```
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index dc042e35dca0..7b1c94e51a3c 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -180,6 +180,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerregistry/resource-manager
```
## C#
@@ -209,36 +212,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-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!
+## AzureResourceSchema
-``` 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/preview/2019-12-01-preview/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
- - $(this-folder)/Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
- - $(this-folder)/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json
- - $(this-folder)/Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-```
-
-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/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
index 99afee6bcfd0..39b326850de7 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
@@ -1746,7 +1746,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
index 46c3d28a4b11..49f59d3be75c 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
@@ -1386,13 +1386,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1639,7 +1637,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
index 2adcf5c68ab2..c476b8355ae6 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
@@ -1488,13 +1488,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1741,7 +1739,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
index c16a98053709..d336ac2148f8 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
@@ -1532,13 +1532,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1847,7 +1845,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
index b8e3358738bf..b218cd442c75 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
@@ -1575,13 +1575,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1895,7 +1893,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
index 8282d9264ca7..0be553652cb2 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
@@ -1589,13 +1589,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1938,7 +1936,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
index dea09d26dea6..9052f5a6c66f 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
@@ -1589,13 +1589,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1938,7 +1936,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
index 4c23040f7b7a..4572d2dec90e 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
@@ -1596,13 +1596,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1957,7 +1955,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
index 894a1ab3fb3b..772ab033df01 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
@@ -1612,13 +1612,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1979,7 +1977,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
index 83b5e9e30cbb..3a813866b029 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
@@ -1630,13 +1630,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -1997,7 +1995,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
index e726cd78022b..b953c50c7963 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
@@ -1842,13 +1842,11 @@
"properties": {
"adminUsername": {
"type": "string",
- "description": "The administrator username to use for Windows VMs.",
- "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ "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": "The administrator password to use for Windows VMs.",
- "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ "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!\""
}
},
"required": [
@@ -2209,7 +2207,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
},
"networkProfile": {
"$ref": "#/definitions/ContainerServiceNetworkProfile",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..ec43ba9e1863
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..a001a5428bf1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..c4fd0dc07f1e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..0341ca53c6a3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..47fd641d2059
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..f61986d807a7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..b110ebe7520f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ],
+ "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..b2d63467a9cf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..2c069e0f7d05
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "UpgradingNodeImageVersion",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu-1604-2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..11ec7257c46f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..d13c0a2cfdba
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..ae067af5d51d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,272 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..07220a608e8d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..e3fd532bc1bf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "aadProfile": {
+ "managed": true,
+ "enableAzureRBAC": true
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..2214600840a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..4650fbd25837
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..7589ab0ac25b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..3e30bbecd4f4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..496b4f0e00ce
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..989448f5bf75
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..2cae16478490
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..93c854ac7497
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..309d53c2ab38
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..2214600840a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..69dced82c890
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..49ebb2d38eef
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..805aef365f3d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..a680ac3d8ca7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..6e9dfbb9deac
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
new file mode 100644
index 000000000000..d1c2f34c1d52
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
@@ -0,0 +1,3026 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-07-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "summary": "Gets a list of private endpoint connections in the specified managed cluster.",
+ "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Cluster": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "summary": "Gets the private endpoint connection.",
+ "description": "Gets the details of the private endpoint connection by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "summary": "Updates a private endpoint connection.",
+ "description": "Updates a private endpoint connection in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to the Update a private endpoint connection operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "summary": "Deletes a private endpoint connection.",
+ "description": "Deletes the private endpoint connection in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_UpgradeNodeImageVersion",
+ "summary": "Upgrade node image version of an agent pool to the latest.",
+ "description": "Upgrade node image version of an agent pool to the latest.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Upgrade Agent Pool Node Image Version": {
+ "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode",
+ "description": "AgentPoolMode represents mode of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version of node image"
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/AgentPoolUpgradeSettings",
+ "description": "Settings for upgrading the agentpool"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true
+ },
+ "description": "AgentPoolMode represents mode of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default"
+ }
+ },
+ "description": "Settings for upgrading an agentpool"
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "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
+ },
+ "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is the latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource Id for private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..0465208ed255
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..fe3c6998bb0b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..1dd25b5f1cd6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..f72c274a469c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..34e078b8ddc9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..e2924bd00050
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..0562b87ea10e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..23544c4c5b16
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ],
+ "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..09ec35dd854d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..d1d4d87e5881
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "UpgradingNodeImageVersion",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu-1604-2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..9c0ee3ef6a60
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..52cbf09263a2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..2154502d0c28
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "most-pods",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "most-pods",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..22500c964240
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..e88ec3b727e7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "aadProfile": {
+ "managed": true,
+ "enableAzureRBAC": true
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..74d4a76054ad
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..e8fb8bd9c65b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..96bc1df11315
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..e89e09461ba0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..d4337b7e4d4b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..106b9437fe9b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..f655e65a95cf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..5849ddf284ae
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..12b1a2395edb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..cb4dad284f12
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..9d4e3a35d790
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..737edc566ede
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..7a4bb726214b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..44f51606e06d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "management",
+ "type": "Microsoft.ContainerService/managedClusters/privateLinkResources",
+ "groupId": "management",
+ "requiredMembers": [
+ "management"
+ ],
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..c37322caf4b0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "name": "management"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
new file mode 100644
index 000000000000..aa5a00d3e6c5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
@@ -0,0 +1,3335 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-09-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Stop",
+ "summary": "Stop Managed Cluster",
+ "description": "Stops a Running Managed Cluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Start",
+ "summary": "Start Managed Cluster",
+ "description": "Starts a Stopped Managed Cluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "summary": "Gets a list of private endpoint connections in the specified managed cluster.",
+ "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Cluster": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "summary": "Gets the private endpoint connection.",
+ "description": "Gets the details of the private endpoint connection by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "summary": "Updates a private endpoint connection.",
+ "description": "Updates a private endpoint connection in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to the Update a private endpoint connection operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "summary": "Deletes a private endpoint connection.",
+ "description": "Deletes the private endpoint connection in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_UpgradeNodeImageVersion",
+ "summary": "Upgrade node image version of an agent pool to the latest.",
+ "description": "Upgrade node image version of an agent pool to the latest.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Upgrade Agent Pool Node Image Version": {
+ "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "privateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_List",
+ "summary": "Gets a list of private link resources in the specified managed cluster.",
+ "description": "Gets a list of private link resources in the specified managed cluster. The operation returns properties of each private link resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Link Resources by Managed Cluster": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": {
+ "post": {
+ "tags": [
+ "resolvePrivateLinkServiceId"
+ ],
+ "operationId": "ResolvePrivateLinkServiceId_POST",
+ "summary": "Gets the private link service ID for the specified managed cluster.",
+ "description": "Gets the private link service ID the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Parameters (name, groupId) supplied in order to resolve a private link service ID."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve the Private Link Service ID for Managed Cluster": {
+ "$ref": "./examples/ResolvePrivateLinkServiceId.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "osDiskType": {
+ "$ref": "#/definitions/OSDiskType",
+ "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. May not be changed after creation."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode",
+ "description": "AgentPoolMode represents mode of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version of node image"
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/AgentPoolUpgradeSettings",
+ "description": "Settings for upgrading the agentpool"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "powerState": {
+ "readOnly": true,
+ "description": "Describes whether the Agent Pool is Running or Stopped",
+ "$ref": "#/definitions/PowerState"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true
+ },
+ "description": "AgentPoolMode represents mode of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default"
+ }
+ },
+ "description": "Settings for upgrading an agentpool"
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "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
+ },
+ "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "Represents the Power State of the cluster",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true
+ }
+ },
+ "max-empty-bulk-delete": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ },
+ "max-total-unready-percentage": {
+ "type": "string"
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string"
+ },
+ "ok-total-unready-count": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string"
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is the latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource Id for private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true
+ },
+ "description": "OSDiskType represents the type of an OS disk on an agent pool."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..757d9d5dd16f
--- /dev/null
+++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,315 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerservice-2020-09-01
+ - tag: schema-containerservice-2020-07-01
+ - tag: schema-containerservice-2020-06-01
+ - tag: schema-containerservice-2020-04-01
+ - tag: schema-containerservice-2020-03-01
+ - tag: schema-containerservice-2020-02-01
+ - tag: schema-containerservice-2020-01-01
+ - tag: schema-containerservice-2019-11-01
+ - tag: schema-containerservice-2019-10-27-preview
+ - tag: schema-containerservice-2019-10-01
+ - tag: schema-containerservice-2019-09-30
+ - tag: schema-containerservice-2019-08-01
+ - tag: schema-containerservice-2019-06-01
+ - tag: schema-containerservice-2019-04-30
+ - tag: schema-containerservice-2019-04-01
+ - tag: schema-containerservice-2019-02-01
+ - tag: schema-containerservice-2018-09-30-preview
+ - tag: schema-containerservice-2018-08-01-preview
+ - tag: schema-containerservice-2018-03-31
+ - tag: schema-containerservice-2017-09-30
+ - tag: schema-containerservice-2017-08-31
+ - tag: schema-containerservice-2017-07-01
+ - tag: schema-containerservice-2017-01-31
+ - tag: schema-containerservice-2016-09-30
+ - tag: schema-containerservice-2016-03-30
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerservice-2020-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-02-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-02-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-10-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-10-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-06-01/location.json
+ - Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-04-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-04-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
+ - Microsoft.ContainerService/stable/2019-04-01/location.json
+
+```
+
+### Tag: schema-containerservice-2019-02-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-02-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-09-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-09-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2017-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-09-30/location.json
+
+```
+
+### Tag: schema-containerservice-2017-08-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-08-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2017-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+
+```
+
+### Tag: schema-containerservice-2017-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-01-31/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-09-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-03-30/containerService.json
+
+```
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 657781427475..a237557ee2bd 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -12,6 +12,8 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-09
+ - tag: package-2020-07
- tag: package-2020-06
- tag: package-2020-04
- tag: package-2020-03
@@ -32,6 +34,26 @@ batch:
- tag: package-2017-08
- tag: package-2017-07
```
+### Tag: package-2020-09 and go
+
+These settings apply only when `--package-2020-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-09' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace)
+```
+
+### Tag: package-2020-07 and go
+
+These settings apply only when `--package-2020-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-07' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace)
+```
+
### Tag: package-2020-06 and go
These settings apply only when `--package-2020-06 --go` is specified on the command line.
@@ -149,7 +171,7 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_07_01
+regenerate-manager: true
+generate-interface: true
+```
+### Tag: package-2020-09 and java
+
+These settings apply only when `--tag=package-2020-09` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_09_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2020-06 and java
@@ -194,4 +221,4 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2017_07_01
regenerate-manager: true
generate-interface: true
-```
\ No newline at end of file
+```
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index 296d71dd7e19..b24570f6bfd1 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,21 +34,45 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2020-06
+tag: package-2020-09
```
+### Tag: package-2020-09
+
+These settings apply only when `--tag=package-2020-09` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-09'
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
+```
+### Tag: package-2020-07
+
+These settings apply only when `--tag=package-2020-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07'
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+```
+
### Tag: package-2020-06
These settings apply only when `--tag=package-2020-06` is specified on the command line.
-```yaml $(tag) == 'package-2020-06'
+``` yaml $(tag) == 'package-2020-06'
input-file:
- Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- Microsoft.ContainerService/stable/2017-07-01/containerService.json
- Microsoft.ContainerService/stable/2019-08-01/location.json
- Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
```
+
### Tag: package-2020-04
These settings apply only when `--tag=package-2020-04` is specified on the command line.
@@ -256,6 +280,32 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma
``` yaml $(tag) == 'package-2017-07'
input-file:
- Microsoft.ContainerService/stable/2017-07-01/containerService.json
+
+```
+### Tag: package-2020-09-01-only
+
+These settings apply only when `--tag=package-2020-09-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
+### Tag: package-2020-07-01-only
+
+These settings apply only when `--tag=package-2020-07-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
```
### Tag: package-2020-06-01-only
@@ -508,6 +558,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerservice/resource-manager
```
## C#
@@ -545,51 +598,7 @@ directive:
reason: ACS service is deprecated so a PATCH endpoint won't be implemented
```
-## 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
+## AzureResourceSchema
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-07-01/containerService.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json
- - $(this-folder)/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json
- - $(this-folder)/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/location.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-04-01/location.json
- - $(this-folder)/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-09-30/location.json
- - $(this-folder)/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json
- - $(this-folder)/Microsoft.ContainerService/stable/2016-09-30/containerService.json
- - $(this-folder)/Microsoft.ContainerService/stable/2016-03-30/containerService.json
-
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-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/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index 5fee0ec5f9e4..7a02ff59401b 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -18,6 +18,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-09-01-only
+ - tag: package-2020-07-01-only
- tag: package-2020-06-01-only
- tag: package-2020-04-01-only
- tag: package-2020-03-01-only
@@ -38,6 +40,28 @@ batch:
- tag: package-2017-07-only-extended
```
+### Tag: package-2020-09-01-only and python
+
+These settings apply only when `--tag=package-2020-09-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-09-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_09_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_09_01
+```
+
+### Tag: package-2020-07-01-only and python
+
+These settings apply only when `--tag=package-2020-07-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-07-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_07_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_07_01
+```
+
### Tag: package-2020-06-01-only and python
These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line.
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
index 9f2d5580be06..918f269d90aa 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
@@ -4215,7 +4215,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ "$ref": "#/definitions/DefaultErrorResponse"
}
}
},
@@ -4251,7 +4251,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ "$ref": "#/definitions/DefaultErrorResponse"
}
}
},
@@ -4293,7 +4293,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ "$ref": "#/definitions/DefaultErrorResponse"
}
}
}
@@ -4483,11 +4483,11 @@
},
"description": "Error Response."
},
- "ErrorResponseUpdatedFormat": {
+ "DefaultErrorResponse": {
"description": "An error response from the service.",
"properties": {
"error": {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -5663,6 +5663,9 @@
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
}
}
},
@@ -7024,17 +7027,36 @@
},
"type": {
"type": "string",
- "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
"enum": [
"SystemAssigned",
"UserAssigned",
- "SystemAssigned, UserAssigned",
+ "SystemAssigned,UserAssigned",
"None"
],
"x-ms-enum": {
"name": "ResourceIdentityType",
"modelAsString": false
}
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
}
},
"description": "Identity for the resource."
@@ -7664,7 +7686,7 @@
},
"restoreSource": {
"type": "string",
- "description": "Path of the source account from which the restore has to be initiated"
+ "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}"
},
"restoreTimestampInUtc": {
"type": "string",
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
index 7857ad6e43d3..c36777803418 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -8,6 +8,12 @@
"location": "westus",
"tags": {},
"kind": "MongoDB",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
"properties": {
"databaseAccountOfferType": "Standard",
"ipRules": [
@@ -73,6 +79,15 @@
"type": "Microsoft.DocumentDB/databaseAccounts",
"kind": "MongoDB",
"tags": {},
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
"properties": {
"provisioningState": "Initializing",
"isVirtualNetworkFilterEnabled": true,
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json
index 988548baaf7f..5c0c861f1146 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json
@@ -9,6 +9,12 @@
"tags": {
"dept": "finance"
},
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
"properties": {
"ipRules": [
{
@@ -53,6 +59,15 @@
"tags": {
"dept": "finance"
},
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
"properties": {
"provisioningState": "Succeeded",
"documentEndpoint": "https://ddb1.documents.azure.com:443/",
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..dde4f7397304
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview",
+ "createUpdateSqlRoleAssignmentParameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..2055244f0a8d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..e42f8592a146
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..5ef2595574ee
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..88351bec1d9e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview",
+ "createUpdateSqlRoleDefinitionParameters": {
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..2208e3274038
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..43ee7da06029
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..52933db02416
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
new file mode 100644
index 000000000000..cda13ff0d7e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
@@ -0,0 +1,573 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionGet": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Definition.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Definition create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Definition does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleDefinitions",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionList": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentGet": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleAssignmentParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Assignment.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Assignment create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Assignment delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Assignment does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleAssignments",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentList": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/DefaultErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SqlRoleDefinitionResource": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "A user-friendly name for the Role Definition. Must be unique for the database account."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "BuiltInRole",
+ "CustomRole"
+ ],
+ "description": "Indicates whether the Role Definition was built-in or user created.",
+ "x-ms-enum": {
+ "name": "RoleDefinitionType",
+ "modelAsString": false
+ }
+ },
+ "assignableScopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist."
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "The set of operations allowed through this Role Definition."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Definition resource object."
+ },
+ "SqlRoleDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.",
+ "$ref": "#/definitions/SqlRoleDefinitionResource"
+ }
+ }
+ },
+ "SqlRoleDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleDefinitionResource",
+ "description": "Properties related to the Role Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB SQL Role Definition."
+ },
+ "Permission": {
+ "type": "object",
+ "properties": {
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are allowed."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are denied."
+ }
+ },
+ "description": "The set of data plane operations permitted through this Role Definition."
+ },
+ "SqlRoleDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ },
+ "description": "List of Role Definitions and their properties."
+ }
+ },
+ "description": "The relevant Role Definitions."
+ },
+ "SqlRoleAssignmentResource": {
+ "type": "object",
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The unique identifier for the associated Role Definition."
+ },
+ "scope": {
+ "type": "string",
+ "description": "The data plane resource path for which access is being granted through this Role Assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Assignment resource object."
+ },
+ "SqlRoleAssignmentCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "$ref": "#/definitions/SqlRoleAssignmentResource"
+ }
+ }
+ },
+ "SqlRoleAssignmentGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleAssignmentResource",
+ "description": "Properties related to the Role Assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB Role Assignment"
+ },
+ "SqlRoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ },
+ "description": "List of Role Assignments and their properties"
+ }
+ },
+ "description": "The relevant Role Assignments."
+ }
+ },
+ "parameters": {
+ "roleDefinitionIdParameter": {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Definition."
+ },
+ "roleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Assignment."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json
new file mode 100644
index 000000000000..81461e3fd2f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json
@@ -0,0 +1,8521 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2020-09-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_Get",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGet": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "DatabaseAccounts_Update",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountPatch": {
+ "$ref": "./examples/CosmosDBDatabaseAccountPatch.json"
+ }
+ },
+ "description": "Updates the properties of an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account update operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_CreateOrUpdate",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCreateMin": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json"
+ },
+ "CosmosDBDatabaseAccountCreateMax": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json"
+ }
+ },
+ "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account create or update operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_Delete",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountDelete": {
+ "$ref": "./examples/CosmosDBDatabaseAccountDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The database account delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The specified account does not exist in the subscription."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": {
+ "post": {
+ "operationId": "DatabaseAccounts_FailoverPriorityChange",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountFailoverPriorityChange": {
+ "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json"
+ }
+ },
+ "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "failoverParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverPolicies"
+ },
+ "description": "The new failover policies for the database account."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The failover policy change operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBDatabaseAccountList.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListByResourceGroup": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json"
+ }
+ },
+ "description": "Lists the access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListConnectionStrings",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListConnectionStrings": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json"
+ },
+ "CosmosDBDatabaseAccountListConnectionStringsMongo": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json"
+ }
+ },
+ "description": "Lists the connection strings for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OfflineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOfflineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json"
+ }
+ },
+ "description": "Offline the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOffline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to offline for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The offline region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The offline region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OnlineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOnlineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json"
+ }
+ },
+ "description": "Online the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOnline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to online for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The online region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The online region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": {
+ "get": {
+ "operationId": "DatabaseAccounts_GetReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "DatabaseAccounts_ListReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": {
+ "post": {
+ "operationId": "DatabaseAccounts_RegenerateKey",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegenerateKey": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates an access key for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "keyToRegenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters"
+ },
+ "description": "The name of the key to regenerate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The regenerate key operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": {
+ "head": {
+ "operationId": "DatabaseAccounts_CheckNameExists",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCheckNameExists": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json"
+ }
+ },
+ "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The account name is valid but is already in use."
+ },
+ "404": {
+ "description": "Not Found. The account name is available and valid."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Cosmos DB Resource Provider operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "CosmosDBOperationsList": {
+ "$ref": "./examples/CosmosDBOperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": {
+ "get": {
+ "operationId": "Database_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "Collection_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "CollectionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBRegionCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccountRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileSourceTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/sourceRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account, source and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": {
+ "get": {
+ "operationId": "Percentile_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartitionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartition_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeId_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeIdRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": {
+ "get": {
+ "operationId": "Database_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": {
+ "get": {
+ "operationId": "Collection_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": {
+ "get": {
+ "operationId": "CollectionPartition_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection, per partition were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Database_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Collection_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": {
+ "get": {
+ "operationId": "SqlResources_ListSqlDatabases",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBSqlDatabaseList.json"
+ }
+ },
+ "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseGet.json"
+ }
+ },
+ "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseDelete": {
+ "$ref": "./examples/CosmosDBSqlDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlContainers",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerList": {
+ "$ref": "./examples/CosmosDBSqlContainerList.json"
+ }
+ },
+ "description": "Lists the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerGet": {
+ "$ref": "./examples/CosmosDBSqlContainerGet.json"
+ }
+ },
+ "description": "Gets the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlContainerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerDelete": {
+ "$ref": "./examples/CosmosDBSqlContainerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL container.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL container delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL container was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL container update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL container update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
+ "get": {
+ "operationId": "SqlResources_ListSqlStoredProcedures",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureList": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureList.json"
+ }
+ },
+ "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL stored procedure properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureGet": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json"
+ }
+ },
+ "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL storedProcedure property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL storedProcedure",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlStoredProcedureParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL storedProcedure."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL storedProcedure create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureDelete": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL storedProcedure delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlUserDefinedFunctions",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionList": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json"
+ }
+ },
+ "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionGet": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json"
+ }
+ },
+ "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlUserDefinedFunctionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL userDefinedFunction."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL userDefinedFunction create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionDelete": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL userDefinedFunction delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlTriggers",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerList": {
+ "$ref": "./examples/CosmosDBSqlTriggerList.json"
+ }
+ },
+ "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerGet": {
+ "$ref": "./examples/CosmosDBSqlTriggerGet.json"
+ }
+ },
+ "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL trigger",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlTriggerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL trigger."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL trigger create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerDelete": {
+ "$ref": "./examples/CosmosDBSqlTriggerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL trigger.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL trigger delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBDatabases",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseList": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseList.json"
+ }
+ },
+ "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json"
+ }
+ },
+ "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or updates Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseDelete": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBCollections",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionList": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionList.json"
+ }
+ },
+ "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionGet.json"
+ }
+ },
+ "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB MongoDB Collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBCollectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB Collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB Collection create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB Collection create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB collection delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB collection was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json"
+ }
+ },
+ "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB collection update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
+ "x-ms-examples": {
+ "CosmosDBTableList": {
+ "$ref": "./examples/CosmosDBTableList.json"
+ }
+ },
+ "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
+ "get": {
+ "operationId": "TableResources_GetTable",
+ "x-ms-examples": {
+ "CosmosDBTableGet": {
+ "$ref": "./examples/CosmosDBTableGet.json"
+ }
+ },
+ "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_CreateUpdateTable",
+ "x-ms-examples": {
+ "CosmosDBTableReplace": {
+ "$ref": "./examples/CosmosDBTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TableResources_DeleteTable",
+ "x-ms-examples": {
+ "CosmosDBTableDelete": {
+ "$ref": "./examples/CosmosDBTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "TableResources_GetTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputGet": {
+ "$ref": "./examples/CosmosDBTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_UpdateTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraKeyspaces",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceList": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceList.json"
+ }
+ },
+ "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json"
+ }
+ },
+ "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraKeyspaceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra keyspace create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceDelete": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra keyspace delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraTables",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableList": {
+ "$ref": "./examples/CosmosDBCassandraTableList.json"
+ }
+ },
+ "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableGet": {
+ "$ref": "./examples/CosmosDBCassandraTableGet.json"
+ }
+ },
+ "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraTableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableDelete": {
+ "$ref": "./examples/CosmosDBCassandraTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinDatabases",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseList": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseList.json"
+ }
+ },
+ "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseGet.json"
+ }
+ },
+ "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinGraphs",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphList": {
+ "$ref": "./examples/CosmosDBGremlinGraphList.json"
+ }
+ },
+ "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphDelete": {
+ "$ref": "./examples/CosmosDBGremlinGraphDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin graph.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin graph was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin graph update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ },
+ "description": "List of database account and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the database accounts and their properties."
+ },
+ "SqlDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ },
+ "description": "List of SQL databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the SQL databases and their properties."
+ },
+ "SqlContainerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "SqlStoredProcedureListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ },
+ "description": "List of storedProcedures and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the storedProcedures and their properties."
+ },
+ "SqlUserDefinedFunctionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ },
+ "description": "List of userDefinedFunctions and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the userDefinedFunctions and their properties."
+ },
+ "SqlTriggerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ },
+ "description": "List of triggers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the triggers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ },
+ "description": "List of MongoDB databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB databases and their properties."
+ },
+ "MongoDBCollectionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ },
+ "description": "List of MongoDB collections and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB collections and their properties."
+ },
+ "TableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableGetResults"
+ },
+ "description": "List of Table and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Table and their properties."
+ },
+ "CassandraKeyspaceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ },
+ "description": "List of Cassandra keyspaces and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra keyspaces and their properties."
+ },
+ "CassandraTableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ },
+ "description": "List of Cassandra tables and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra tables and their properties."
+ },
+ "GremlinDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ },
+ "description": "List of Gremlin databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Gremlin databases and their properties."
+ },
+ "GremlinGraphListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ },
+ "description": "List of graphs and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the graphs and their properties."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ },
+ "description": "Error Response."
+ },
+ "ErrorResponseUpdatedFormat": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "FailoverPolicies": {
+ "properties": {
+ "failoverPolicies": {
+ "type": "array",
+ "description": "List of failover policies.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ }
+ },
+ "required": [
+ "failoverPolicies"
+ ],
+ "description": "The list of new failover policies for the failover priority change."
+ },
+ "FailoverPolicy": {
+ "type": "object",
+ "description": "The failover policy for a given region of a database account.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region in which the database account exists."
+ },
+ "failoverPriority": {
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32",
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists."
+ }
+ }
+ },
+ "RegionForOnlineOffline": {
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ }
+ },
+ "required": [
+ "region"
+ ],
+ "description": "Cosmos DB region to online or offline."
+ },
+ "Location": {
+ "description": "A region in which the Azure Cosmos DB database account is deployed.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "documentEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "failoverPriority": {
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "isZoneRedundant": {
+ "type": "boolean",
+ "description": "Flag to indicate whether or not this region is an AvailabilityZone region"
+ }
+ }
+ },
+ "ARMResourceProperties": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ARMProxyResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the database account."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the database account."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccountGetResults": {
+ "description": "An Azure Cosmos DB database account.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier.",
+ "readOnly": true
+ },
+ "_ts": {
+ "type": "number",
+ "description": "A system generated property that denotes the last updated timestamp of the resource.",
+ "readOnly": true
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control.",
+ "readOnly": true
+ }
+ }
+ },
+ "ThroughputSettingsGetResults": {
+ "description": "An Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ThroughputSettingsGetProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "SqlDatabaseGetResults": {
+ "description": "An Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "$ref": "#/definitions/SqlDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_colls": {
+ "type": "string",
+ "description": "A system generated property that specified the addressable path of the collections resource."
+ },
+ "_users": {
+ "type": "string",
+ "description": "A system generated property that specifies the addressable path of the users resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "SqlContainerGetResults": {
+ "description": "An Azure Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB container",
+ "$ref": "#/definitions/SqlContainerGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlContainerGetProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "SqlStoredProcedureGetResults": {
+ "description": "An Azure Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB storedProcedure",
+ "$ref": "#/definitions/SqlStoredProcedureGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlStoredProcedureGetProperties": {
+ "description": "The properties of an Azure Cosmos DB StoredProcedure",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "SqlUserDefinedFunctionGetResults": {
+ "description": "An Azure Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB userDefinedFunction",
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlUserDefinedFunctionGetProperties": {
+ "description": "The properties of an Azure Cosmos DB userDefinedFunction",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "SqlTriggerGetResults": {
+ "description": "An Azure Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB trigger",
+ "$ref": "#/definitions/SqlTriggerGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlTriggerGetProperties": {
+ "description": "The properties of an Azure Cosmos DB trigger",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "MongoDBDatabaseGetResults": {
+ "description": "An Azure Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "$ref": "#/definitions/MongoDBDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "MongoDBCollectionGetResults": {
+ "description": "An Azure Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "$ref": "#/definitions/MongoDBCollectionGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "MongoDBCollectionGetProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "TableGetResults": {
+ "description": "An Azure Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Table",
+ "$ref": "#/definitions/TableGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "TableGetProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "CassandraKeyspaceGetResults": {
+ "description": "An Azure Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "$ref": "#/definitions/CassandraKeyspaceGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "CassandraKeyspaceGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "CassandraTableGetResults": {
+ "description": "An Azure Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "$ref": "#/definitions/CassandraTableGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "CassandraTableGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "GremlinDatabaseGetResults": {
+ "description": "An Azure Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "$ref": "#/definitions/GremlinDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "GremlinDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "GremlinGraphGetResults": {
+ "description": "An Azure Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Gremlin graph",
+ "$ref": "#/definitions/GremlinGraphGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "GremlinGraphGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Gremlin graph",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "ConsistencyPolicy": {
+ "type": "object",
+ "description": "The consistency policy for the Cosmos DB database account.",
+ "properties": {
+ "defaultConsistencyLevel": {
+ "description": "The default consistency level and configuration settings of the Cosmos DB account.",
+ "type": "string",
+ "enum": [
+ "Eventual",
+ "Session",
+ "BoundedStaleness",
+ "Strong",
+ "ConsistentPrefix"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultConsistencyLevel",
+ "modelAsString": false
+ }
+ },
+ "maxStalenessPrefix": {
+ "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2147483647,
+ "format": "int64"
+ },
+ "maxIntervalInSeconds": {
+ "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.",
+ "type": "integer",
+ "minimum": 5,
+ "maximum": 86400,
+ "format": "int32"
+ }
+ },
+ "required": [
+ "defaultConsistencyLevel"
+ ]
+ },
+ "CorsPolicy": {
+ "type": "object",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "properties": {
+ "allowedOrigins": {
+ "description": "The origin domains that are permitted to make a request against the service via CORS.",
+ "type": "string"
+ },
+ "allowedMethods": {
+ "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.",
+ "type": "string"
+ },
+ "allowedHeaders": {
+ "description": "The request headers that the origin domain may specify on the CORS request.",
+ "type": "string"
+ },
+ "exposedHeaders": {
+ "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.",
+ "type": "string"
+ },
+ "maxAgeInSeconds": {
+ "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2147483647,
+ "format": "int64"
+ }
+ },
+ "required": [
+ "allowedOrigins"
+ ]
+ },
+ "DatabaseAccountGetProperties": {
+ "description": "Properties for the database account.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "documentEndpoint": {
+ "description": "The connection endpoint for the Cosmos DB database account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account. Default value: Standard.",
+ "readOnly": true,
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB database account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "writeLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains the write location for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "readLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains of the read locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "failoverPolicies": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains the regions ordered by their failover priorities.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of Private Endpoint Connections configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the database",
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties. Currently, supported only for MongoDB API.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ }
+ },
+ "required": [
+ "locations",
+ "databaseAccountOfferType"
+ ]
+ },
+ "DatabaseAccountCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "DatabaseAccountUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties. Currently, supported only for MongoDB API.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ }
+ }
+ },
+ "DatabaseAccountUpdateParameters": {
+ "description": "Parameters for patching Azure Cosmos DB database account properties.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ }
+ }
+ },
+ "DatabaseAccountListReadOnlyKeysResult": {
+ "description": "The read-only access keys for the given database account.",
+ "properties": {
+ "primaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-only key."
+ },
+ "secondaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-only key."
+ }
+ }
+ },
+ "DatabaseAccountListKeysResult": {
+ "description": "The access keys for the given database account.",
+ "properties": {
+ "primaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-write key."
+ },
+ "secondaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-write key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ ]
+ },
+ "DatabaseAccountConnectionString": {
+ "description": "Connection string for the Cosmos DB account",
+ "properties": {
+ "connectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Value of the connection string"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the connection string"
+ }
+ }
+ },
+ "DatabaseAccountListConnectionStringsResult": {
+ "description": "The connection strings for the given database account.",
+ "properties": {
+ "connectionStrings": {
+ "type": "array",
+ "description": "An array that contains the connection strings for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountConnectionString"
+ }
+ }
+ }
+ },
+ "DatabaseAccountRegenerateKeyParameters": {
+ "type": "object",
+ "description": "Parameters to regenerate the keys within the database account.",
+ "properties": {
+ "keyKind": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "primary",
+ "secondary",
+ "primaryReadonly",
+ "secondaryReadonly"
+ ],
+ "x-ms-enum": {
+ "name": "KeyKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyKind"
+ ]
+ },
+ "DatabaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountOfferType",
+ "modelAsString": false
+ }
+ },
+ "ThroughputSettingsUpdateParameters": {
+ "description": "Parameters to update Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "$ref": "#/definitions/ThroughputSettingsUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputSettingsUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a SQL database",
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlContainerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "$ref": "#/definitions/SqlContainerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlContainerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a container",
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a storedProcedure",
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a userDefinedFunction",
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlTriggerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "$ref": "#/definitions/SqlTriggerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlTriggerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a trigger",
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB database",
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB collection",
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "TableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "$ref": "#/definitions/TableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "TableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Table",
+ "$ref": "#/definitions/TableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra keyspace",
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "CassandraTableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "$ref": "#/definitions/CassandraTableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraTableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra table",
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin database",
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "GremlinGraphCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "$ref": "#/definitions/GremlinGraphCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinGraphCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin graph",
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "ThroughputSettingsResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both."
+ },
+ "autoscaleSettings": {
+ "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.",
+ "$ref": "#/definitions/AutoscaleSettingsResource"
+ },
+ "minimumThroughput": {
+ "type": "string",
+ "description": "The minimum throughput of the resource",
+ "readOnly": true
+ },
+ "offerReplacePending": {
+ "type": "string",
+ "description": "The throughput replace is pending",
+ "readOnly": true
+ }
+ }
+ },
+ "AutoscaleSettingsResource": {
+ "type": "object",
+ "description": "Cosmos DB provisioned throughput settings object",
+ "properties": {
+ "maxThroughput": {
+ "type": "integer",
+ "description": "Represents maximum throughput container can scale up to."
+ },
+ "autoUpgradePolicy": {
+ "description": "Cosmos DB resource auto-upgrade policy",
+ "$ref": "#/definitions/AutoUpgradePolicyResource"
+ },
+ "targetMaxThroughput": {
+ "type": "integer",
+ "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "maxThroughput"
+ ]
+ },
+ "AutoUpgradePolicyResource": {
+ "type": "object",
+ "description": "Cosmos DB resource auto-upgrade policy",
+ "properties": {
+ "throughputPolicy": {
+ "description": "Represents throughput policy which service must adhere to for auto-upgrade",
+ "$ref": "#/definitions/ThroughputPolicyResource"
+ }
+ }
+ },
+ "ThroughputPolicyResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput policy",
+ "properties": {
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Determines whether the ThroughputPolicy is active or not"
+ },
+ "incrementPercent": {
+ "type": "integer",
+ "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in."
+ }
+ }
+ },
+ "OptionsResource": {
+ "type": "object",
+ "description": "Cosmos DB options resource object",
+ "readOnly": true,
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details."
+ },
+ "autoscaleSettings": {
+ "type": "object",
+ "$ref": "#/definitions/AutoscaleSettings",
+ "description": "Specifies the Autoscale settings."
+ }
+ }
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlContainerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL container resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL container"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the container."
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Analytical TTL."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "IndexingPolicy": {
+ "type": "object",
+ "description": "Cosmos DB indexing policy",
+ "properties": {
+ "automatic": {
+ "type": "boolean",
+ "description": "Indicates if the indexing policy is automatic"
+ },
+ "indexingMode": {
+ "description": "Indicates the indexing mode.",
+ "type": "string",
+ "default": "Consistent",
+ "enum": [
+ "Consistent",
+ "Lazy",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "IndexingMode",
+ "modelAsString": true
+ }
+ },
+ "includedPaths": {
+ "description": "List of paths to include in the indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IncludedPath"
+ }
+ },
+ "excludedPaths": {
+ "description": "List of paths to exclude from indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExcludedPath"
+ }
+ },
+ "compositeIndexes": {
+ "description": "List of composite path list",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePathList"
+ }
+ },
+ "spatialIndexes": {
+ "description": "List of spatial specifics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialSpec"
+ }
+ }
+ }
+ },
+ "ExcludedPath": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ }
+ }
+ },
+ "IncludedPath": {
+ "type": "object",
+ "description": "The paths that are included in indexing",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "indexes": {
+ "description": "List of indexes for this path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Indexes"
+ }
+ }
+ }
+ },
+ "Indexes": {
+ "type": "object",
+ "description": "The indexes for the path.",
+ "properties": {
+ "dataType": {
+ "description": "The datatype for which the indexing behavior is applied to.",
+ "type": "string",
+ "default": "String",
+ "enum": [
+ "String",
+ "Number",
+ "Point",
+ "Polygon",
+ "LineString",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "DataType",
+ "modelAsString": true
+ }
+ },
+ "precision": {
+ "description": "The precision of the index. -1 is maximum precision.",
+ "type": "integer"
+ },
+ "kind": {
+ "description": "Indicates the type of index.",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range",
+ "Spatial"
+ ],
+ "x-ms-enum": {
+ "name": "IndexKind",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CompositePathList": {
+ "description": "List of composite path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePath"
+ }
+ },
+ "CompositePath": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "order": {
+ "description": "Sort order for composite paths.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ],
+ "x-ms-enum": {
+ "name": "CompositePathSortOrder",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SpatialSpec": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "types": {
+ "description": "List of path's spatial type",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialType"
+ }
+ }
+ }
+ },
+ "SpatialType": {
+ "description": "Indicates the spatial type of index.",
+ "type": "string",
+ "enum": [
+ "Point",
+ "LineString",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "SpatialType",
+ "modelAsString": true
+ }
+ },
+ "ContainerPartitionKey": {
+ "type": "object",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions",
+ "properties": {
+ "paths": {
+ "description": "List of paths using which data within the container can be partitioned",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ },
+ "kind": {
+ "description": "Indicates the kind of algorithm used for partitioning",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionKind",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Indicates the version of the partition key definition",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2,
+ "format": "int32"
+ }
+ }
+ },
+ "Path": {
+ "type": "string",
+ "description": "A path. These typically start with root (/path)"
+ },
+ "UniqueKeyPolicy": {
+ "type": "object",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "uniqueKeys": {
+ "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UniqueKey"
+ }
+ }
+ }
+ },
+ "UniqueKey": {
+ "type": "object",
+ "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "paths": {
+ "description": "List of paths must be unique for each document in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ }
+ }
+ },
+ "ConflictResolutionPolicy": {
+ "type": "object",
+ "description": "The conflict resolution policy for the container.",
+ "properties": {
+ "mode": {
+ "description": "Indicates the conflict resolution mode.",
+ "type": "string",
+ "default": "LastWriterWins",
+ "enum": [
+ "LastWriterWins",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ConflictResolutionMode",
+ "modelAsString": true
+ }
+ },
+ "conflictResolutionPath": {
+ "type": "string",
+ "description": "The conflict resolution path in the case of LastWriterWins mode."
+ },
+ "conflictResolutionProcedure": {
+ "type": "string",
+ "description": "The procedure to resolve conflicts in the case of custom mode."
+ }
+ }
+ },
+ "SqlStoredProcedureResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL storedProcedure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL storedProcedure"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Stored Procedure"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlUserDefinedFunctionResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL userDefinedFunction resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL userDefinedFunction"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the User Defined Function"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlTriggerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL trigger resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL trigger"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Trigger"
+ },
+ "triggerType": {
+ "type": "string",
+ "enum": [
+ "Pre",
+ "Post"
+ ],
+ "description": "Type of the Trigger",
+ "x-ms-enum": {
+ "name": "triggerType",
+ "modelAsString": true
+ }
+ },
+ "triggerOperation": {
+ "type": "string",
+ "enum": [
+ "All",
+ "Create",
+ "Update",
+ "Delete",
+ "Replace"
+ ],
+ "description": "The operation the trigger is associated with",
+ "x-ms-enum": {
+ "name": "triggerOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBCollectionResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB collection"
+ },
+ "shardKey": {
+ "description": "A key-value pair of shard keys to be applied for the request.",
+ "$ref": "#/definitions/ShardKeys"
+ },
+ "indexes": {
+ "description": "List of index keys",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoIndex"
+ }
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "description": "Analytical TTL."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "ShardKeys": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The shard key and partition kind pair, only support \"Hash\" partition kind"
+ },
+ "MongoIndex": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index key",
+ "properties": {
+ "key": {
+ "description": "Cosmos DB MongoDB collection index keys",
+ "$ref": "#/definitions/MongoIndexKeys"
+ },
+ "options": {
+ "description": "Cosmos DB MongoDB collection index key options",
+ "$ref": "#/definitions/MongoIndexOptions"
+ }
+ }
+ },
+ "MongoIndexKeys": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "keys": {
+ "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Key"
+ }
+ }
+ }
+ },
+ "Key": {
+ "type": "string",
+ "description": "A Key."
+ },
+ "MongoIndexOptions": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index options",
+ "properties": {
+ "expireAfterSeconds": {
+ "description": "Expire after seconds",
+ "type": "integer"
+ },
+ "unique": {
+ "description": "Is unique or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "TableResource": {
+ "type": "object",
+ "description": "Cosmos DB table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Time to live of the Cosmos DB Cassandra table"
+ },
+ "schema": {
+ "description": "Schema of the Cosmos DB Cassandra table",
+ "$ref": "#/definitions/CassandraSchema"
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "description": "Analytical TTL."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraSchema": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table schema",
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Column"
+ },
+ "description": "List of Cassandra table columns."
+ },
+ "partitionKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraPartitionKey"
+ },
+ "description": "List of partition key."
+ },
+ "clusterKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterKey"
+ },
+ "description": "List of cluster key."
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table column",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table column"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the Cosmos DB Cassandra table column"
+ }
+ }
+ },
+ "CassandraPartitionKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table partition key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table partition key"
+ }
+ }
+ },
+ "ClusterKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table cluster key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table cluster key"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\""
+ }
+ }
+ },
+ "GremlinDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "GremlinGraphResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin graph resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin graph"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the graph."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CreateUpdateOptions": {
+ "type": "object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Request Units per second. For example, \"throughput\": 10000."
+ },
+ "autoscaleSettings": {
+ "$ref": "#/definitions/AutoscaleSettings",
+ "description": "Specifies the Autoscale settings."
+ }
+ },
+ "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\""
+ },
+ "AutoscaleSettings": {
+ "type": "object",
+ "properties": {
+ "maxThroughput": {
+ "type": "integer",
+ "description": "Represents maximum throughput, the resource can scale up to."
+ }
+ }
+ },
+ "Capability": {
+ "type": "object",
+ "description": "Cosmos DB capability object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"."
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed."
+ },
+ "IPRules": {
+ "type": "array",
+ "description": "Array of IpAddressOrRange objects.",
+ "items": {
+ "$ref": "#/definitions/IpAddressOrRange"
+ }
+ },
+ "IpAddressOrRange": {
+ "type": "object",
+ "description": "IpAddressOrRange object",
+ "properties": {
+ "ipAddressOrRange": {
+ "type": "string",
+ "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”."
+ }
+ }
+ },
+ "VirtualNetworkRule": {
+ "type": "object",
+ "description": "Virtual Network ACL Rule object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}."
+ },
+ "ignoreMissingVNetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Create firewall rule before the virtual network has vnet service endpoint enabled."
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection State of the Private Endpoint Connection."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "description": "Private endpoint which the connection belongs to.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource id of the private endpoint."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "type": "object",
+ "description": "Connection State of the Private Endpoint Connection.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The private link service connection status."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "Provider": {
+ "description": "Service provider: Microsoft.ResourceProvider",
+ "type": "string"
+ },
+ "Resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "type": "string"
+ },
+ "Operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of operation",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "UsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list usage request."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "name": {
+ "$ref": "#/definitions/MetricName",
+ "readOnly": true,
+ "description": "The name information for the metric."
+ },
+ "quotaPeriod": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The quota period used to summarize the usage values."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Maximum value for this metric"
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Current value for this metric"
+ }
+ },
+ "description": "The usage data for a usage request."
+ },
+ "PartitionUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PartitionUsage"
+ },
+ "description": "The list of partition-level usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list partition level usage request."
+ },
+ "PartitionUsage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Usage"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the usages."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the usages."
+ }
+ },
+ "description": "The partition level usage data for a usage request."
+ },
+ "MetricDefinitionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricDefinition"
+ },
+ "description": "The list of metric definitions for the account."
+ }
+ },
+ "description": "The response to a list metric definitions request."
+ },
+ "MetricDefinition": {
+ "properties": {
+ "metricAvailabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricAvailability"
+ },
+ "description": "The list of metric availabilities for the account."
+ },
+ "primaryAggregationType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary aggregation type of the metric.",
+ "enum": [
+ "None",
+ "Average",
+ "Total",
+ "Minimum",
+ "Maximum",
+ "Last"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PrimaryAggregationType"
+ }
+ },
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "resourceUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource uri of the database."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ }
+ },
+ "description": "The definition of a metric."
+ },
+ "MetricAvailability": {
+ "properties": {
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "retention": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The retention for the metric values."
+ }
+ },
+ "description": "The availability of the metric."
+ },
+ "MetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ },
+ "description": "The list of metrics for the account."
+ }
+ },
+ "description": "The response to a list metrics request."
+ },
+ "Metric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricValue"
+ },
+ "description": "The metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Metric data"
+ },
+ "MetricName": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The friendly name of the metric."
+ }
+ },
+ "description": "A metric name."
+ },
+ "MetricValue": {
+ "properties": {
+ "_count": {
+ "readOnly": true,
+ "type": "number",
+ "format": "int32",
+ "description": "The number of values for the metric."
+ },
+ "average": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The average value of the metric."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The max value of the metric."
+ },
+ "minimum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The min value of the metric."
+ },
+ "timestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The metric timestamp (ISO-8601 format)."
+ },
+ "total": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The total value of the metric."
+ }
+ },
+ "description": "Represents metrics values."
+ },
+ "PercentileMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetric"
+ },
+ "description": "The list of percentile metrics for the account."
+ }
+ },
+ "description": "The response to a list percentile metrics request."
+ },
+ "PercentileMetric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetricValue"
+ },
+ "description": "The percentile metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Percentile Metric data"
+ },
+ "PercentileMetricValue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetricValue"
+ }
+ ],
+ "properties": {
+ "P10": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 10th percentile value for the metric."
+ },
+ "P25": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 25th percentile value for the metric."
+ },
+ "P50": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 50th percentile value for the metric."
+ },
+ "P75": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 75th percentile value for the metric."
+ },
+ "P90": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 90th percentile value for the metric."
+ },
+ "P95": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 95th percentile value for the metric."
+ },
+ "P99": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 99th percentile value for the metric."
+ }
+ },
+ "description": "Represents percentile metrics values."
+ },
+ "PartitionMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionMetric"
+ },
+ "description": "The list of partition-level metrics for the account."
+ }
+ },
+ "description": "The response to a list partition metrics request."
+ },
+ "PartitionMetric": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Metric"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the metric values."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the metric values."
+ }
+ },
+ "description": "The metric values for a single partition."
+ },
+ "UnitType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Milliseconds"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "UnitType"
+ }
+ },
+ "ConnectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB C* database account.",
+ "type": "string",
+ "enum": [
+ "Small"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectorOffer",
+ "modelAsString": true
+ }
+ },
+ "PublicNetworkAccess": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ApiProperties": {
+ "type": "object",
+ "properties": {
+ "serverVersion": {
+ "type": "string",
+ "enum": [
+ "3.2",
+ "3.6"
+ ],
+ "description": "Describes the ServerVersion of an a MongoDB account.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServerVersion"
+ }
+ }
+ }
+ },
+ "BackupPolicy": {
+ "type": "object",
+ "description": "The object representing the policy for taking backups on an account.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyType"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "BackupPolicyType": {
+ "description": "Describes the mode of backups.",
+ "type": "string",
+ "enum": [
+ "Periodic",
+ "Continuous"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupPolicyType"
+ }
+ },
+ "PeriodicModeBackupPolicy": {
+ "description": "The object representing periodic mode backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupPolicy"
+ }
+ ],
+ "properties": {
+ "periodicModeProperties": {
+ "type": "object",
+ "description": "Configuration values for periodic mode backup",
+ "$ref": "#/definitions/PeriodicModeProperties"
+ }
+ },
+ "x-ms-discriminator-value": "Periodic"
+ },
+ "ContinuousModeBackupPolicy": {
+ "description": "The object representing continuous mode backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupPolicy"
+ }
+ ],
+ "x-ms-discriminator-value": "Continuous"
+ },
+ "PeriodicModeProperties": {
+ "type": "object",
+ "description": "Configuration values for periodic mode backup",
+ "properties": {
+ "backupIntervalInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "An integer representing the interval in minutes between two backups"
+ },
+ "backupRetentionIntervalInHours": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "An integer representing the time (in hours) that each backup is retained"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Azure resource group."
+ },
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq."
+ },
+ "usageFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)."
+ },
+ "databaseRidParameter": {
+ "name": "databaseRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database rid."
+ },
+ "collectionRidParameter": {
+ "name": "collectionRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection rid."
+ },
+ "databaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database name."
+ },
+ "containerNameParameter": {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB container name."
+ },
+ "storedProcedureNameParameter": {
+ "name": "storedProcedureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB storedProcedure name."
+ },
+ "userDefinedFunctionNameParameter": {
+ "name": "userDefinedFunctionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB userDefinedFunction name."
+ },
+ "triggerNameParameter": {
+ "name": "triggerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB trigger name."
+ },
+ "tableNameParameter": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB table name."
+ },
+ "collectionNameParameter": {
+ "name": "collectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection name."
+ },
+ "keyspaceNameParameter": {
+ "name": "keyspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB keyspace name."
+ },
+ "graphNameParameter": {
+ "name": "graphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB graph name."
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "sourceRegionParameter": {
+ "name": "sourceRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "targetRegionParameter": {
+ "name": "targetRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "partitionKeyRangeIdParameter": {
+ "name": "partitionKeyRangeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Partition Key Range Id for which to get data."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..47fb08d20401
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..d8f70b74b7a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..95864475fb90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..d7cb043566b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..a55d232ca2e4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ffbd3024654b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..76eac069b31c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..4354443f15ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..05aed0225afe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..338259d8b9f4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..72e0f81ad5de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..27073d47d041
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..f15c72d9d182
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ae5b827c638a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..4613befe65bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..a9efe7818fa3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..24bfa2f06287
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-09-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..ce429f69dc9b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..4fb2fe2935c6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..d561cfff9401
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..3bbc3b98f5eb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Partition Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..96527de4c2a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..f57283993261
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..66941f61e922
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "tags": {},
+ "kind": "MongoDB",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ },
+ {
+ "failoverPriority": 1,
+ "locationName": "eastus",
+ "isZoneRedundant": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "MongoDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "isVirtualNetworkFilterEnabled": true,
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 1
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ }
+ ],
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..2bd56832c535
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..ec95b38afb2b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..1354b4e1da60
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "failoverParameters": {
+ "failoverPolicies": [
+ {
+ "locationName": "eastus",
+ "failoverPriority": 0
+ },
+ {
+ "locationName": "westus",
+ "failoverPriority": 1
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..d2fc55846856
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "isVirtualNetworkFilterEnabled": false,
+ "virtualNetworkRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..7d8c635419d3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..8055fa54f5ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..60d1c031ab81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..bdf916d30a10
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..5a9a682d9b88
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..a7e19fb33847
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..4c5b2510e63e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "connectionStrings": [
+ {
+ "connectionString": "connection-string",
+ "description": "Name of the connection string"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..e3f934716bb9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..3acabc15beb7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..39d179708fc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..072a8c3be238
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..55f31a5bfbb1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "updateParameters": {
+ "location": "westus",
+ "tags": {
+ "dept": "finance"
+ },
+ "properties": {
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "enableFreeTier": false,
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {
+ "dept": "finance"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "databaseAccountOfferType": "Standard",
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..5ec50750399d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..6eaef53c3719
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..5b773535de43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-09-01",
+ "databaseRid": "databaseRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..c1a4cc1a44e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "rid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..26151ec23c66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "databaseRid": "databaseRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..be85c4cecfd0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..78b43c1f5037
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..0bd7e872fd43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..f8e9fd62d3df
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..9b8629c7c3bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..8e8f2dc00ed2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..59ad4c7271c0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..e3d2b445cc40
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..861749b581f7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..38aee05e394b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..cec7a8b919ee
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..e4ed25496984
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testgrf",
+ "name": "testgrf",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "resource": {
+ "id": "testgrf",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..8e2f96514595
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..89c1024958a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..0177c5d510a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..8359ae790bff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..8bcce66487be
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..f999d821ab09
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..509872ec3e71
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..c61b19bf719d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..0c40504d44c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..818e8af71f14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..d9678d2d1639
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..857057a3284a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..ebc040006786
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..78b43c1f5037
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..a3607909da37
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..37079493d3c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..9b8629c7c3bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..8e8f2dc00ed2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..3daf5421333f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..7291a4ce7fda
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..227f40b9db11
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default",
+ "notebookCreateUpdateParameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..ed11fcbb5890
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..43414c379992
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..03d895f81238
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..3efb34d1e0bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authToken": "auth-token",
+ "notebookServerEndpoint": "notebook endpoint"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..1e4e36f02986
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..1e4e36f02986
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..9f1793f396e5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "Provider": "providerName",
+ "Resource": "resourceName",
+ "Operation": "operationName",
+ "Description": "description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..2a702179959a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..dfe736bf7561
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "region": "West US",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..97d7429da96c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..d1665d4f2b19
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "sourceRegion": "West Central US",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..b88a1f67b0a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..f4558c9acff6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..d1fe235460ea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..a40cebb07721
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..719a0c2d5fa9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ },
+ "options": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..4f9ae9367955
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..5a012d36a437
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..a3ea45c129a7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..a9ca1642de29
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..ba611bf80397
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..0e8c76e1d932
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..78b43c1f5037
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..c824a9db382e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..5ecd47ea4ea1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..9b8629c7c3bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..8e8f2dc00ed2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..5710eb7386ba
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..08418ba9ce65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..64be1b03bdfb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName",
+ "createUpdateSqlStoredProcedureParameters": {
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..d658c38fc1ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..0f712d8d1f5d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..3d208df315d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..944215f97b06
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName",
+ "createUpdateSqlTriggerParameters": {
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..6f94d01a816b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..253b0db56134
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..64927ab15cd9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..199e413365cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName",
+ "createUpdateSqlUserDefinedFunctionParameters": {
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..dd852f7d6e2e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..9cbf8ebf6595
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..1785789c9731
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..26a948590a98
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..bb58b961da41
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..b0f1a0d20f35
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..9e5f0e00fdb8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..a5dfe1d16f50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..d51de224f66f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..d0da78e9f395
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..c36da4fcc471
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/notebook.json
new file mode 100644
index 000000000000..f14254b45682
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/notebook.json
@@ -0,0 +1,461 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2020-09-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": {
+ "get": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Gets the notebook workspace resources of an existing Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved notebook workspace resources.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceList": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": {
+ "get": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Gets the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified notebook workspace resource.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceGet": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Creates the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ },
+ {
+ "name": "notebookCreateUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters"
+ },
+ "description": "The notebook workspace to create for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Creation of notebook workspace will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceCreate": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Deletes the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_Delete",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The notebook workspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The specified notebook workspace does not exist in the database account."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceDelete": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_ListConnectionInfo",
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceListConnectionInfo": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json"
+ }
+ },
+ "description": "Retrieves the connection info for the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_RegenerateAuthToken",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceRegenerateAuthToken": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json"
+ }
+ },
+ "description": "Regenerates the auth token for the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The regenerate auth token operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_Start",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceStart": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json"
+ }
+ },
+ "description": "Starts the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The start operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "NotebookWorkspaceListResult": {
+ "description": "A list of notebook workspace resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of notebook workspace resources",
+ "items": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ }
+ }
+ },
+ "NotebookWorkspace": {
+ "description": "A notebook workspace resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NotebookWorkspaceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../stable/2020-09-01/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "NotebookWorkspaceProperties": {
+ "description": "Properties of a notebook workspace resource.",
+ "type": "object",
+ "properties": {
+ "notebookServerEndpoint": {
+ "description": "Specifies the endpoint of Notebook server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NotebookWorkspaceConnectionInfoResult": {
+ "description": "The connection info for the given notebook workspace",
+ "properties": {
+ "authToken": {
+ "type": "string",
+ "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).",
+ "readOnly": true
+ },
+ "notebookServerEndpoint": {
+ "type": "string",
+ "description": "Specifies the endpoint of Notebook server.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "NotebookWorkspaceNameParameter": {
+ "name": "notebookWorkspaceName",
+ "in": "path",
+ "description": "The name of the notebook workspace resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "NotebookWorkspaceName",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4abf996fb40b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,150 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-documentdb-2020-06-01-preview
+ - tag: schema-documentdb-2020-04-01
+ - tag: schema-documentdb-2020-03-01
+ - tag: schema-documentdb-2019-12-12
+ - tag: schema-documentdb-2019-08-01-preview
+ - tag: schema-documentdb-2019-08-01
+ - tag: schema-documentdb-2016-03-31
+ - tag: schema-documentdb-2016-03-19
+ - tag: schema-documentdb-2015-11-06
+ - tag: schema-documentdb-2015-04-08
+ - tag: schema-documentdb-2014-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-documentdb-2020-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+ - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
+
+```
+
+### Tag: schema-documentdb-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2020-04-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2020-03-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2019-12-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-12-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2019-12-12/notebook.json
+
+```
+
+### Tag: schema-documentdb-2019-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+ - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
+
+```
+
+### Tag: schema-documentdb-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2019-08-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2016-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2016-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2016-03-19 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2016-03-19' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2015-11-06 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2015-11-06' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2015-04-08 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2015-04-08' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2014-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2014-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
+
+```
diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index c87fb1089fde..278055715921 100644
--- a/specification/cosmos-db/resource-manager/readme.go.md
+++ b/specification/cosmos-db/resource-manager/readme.go.md
@@ -36,7 +36,7 @@ These settings apply only when `--tag=package-2020-04 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-04' && $(go)
-output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2020-04-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-04-01-preview/$(namespace)
```
### Tag: package-2020-03 and go
@@ -45,7 +45,7 @@ These settings apply only when `--tag=package-2020-03 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-03' && $(go)
-output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2020-03-01/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-03-01-preview/$(namespace)
```
### Tag: package-2019-12 and go
@@ -54,7 +54,7 @@ These settings apply only when `--tag=package-2019-12 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2019-12' && $(go)
-output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2019-12-12/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2019-12-12-preview/$(namespace)
```
### Tag: package-2019-08 and go
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index e3f17d7d79f3..c499f9084d26 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Cosmos-DB.
-
-
---
+
## Getting Started
+
To build the SDK for Cosmos-DB, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,21 +15,31 @@ To build the SDK for Cosmos-DB, simply [Install AutoRest](https://aka.ms/autores
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Cosmos-DB API.
``` yaml
title: CosmosDBManagementClient
openapi-type: arm
-tag: package-2020-04
+tag: package-2020-09
```
+
+### Tag: package-2020-09
+
+These settings apply only when `--tag=package-2020-09` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-09'
+input-file:
+ - Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2020-09-01/notebook.json
+```
### Tag: package-2020-06-preview
These settings apply only when `--tag=package-2020-06-preview` is specified on the command line.
@@ -38,6 +48,7 @@ These settings apply only when `--tag=package-2020-06-preview` is specified on t
input-file:
- Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
- Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
+- Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
```
@@ -146,6 +157,7 @@ input-file:
```
## Suppression
+
``` yaml
directive:
- suppress: TrackedResourceGetOperation
@@ -220,11 +232,14 @@ directive:
- suppress: PathResourceProviderNamePascalCase
from: privateLinkResources.json
reason: The name of the provider is Microsoft.DocumentDB
+ - suppress: PathResourceProviderNamePascalCase
+ from: rbac.json
+ reason: The name of the provider is Microsoft.DocumentDB
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -238,9 +253,11 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cosmos-db/resource-manager
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -266,6 +283,11 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
See configuration in [readme.java.md](./readme.java.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -280,6 +302,7 @@ require: $(this-folder)/../../../profiles/readme.md
input-file:
- $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
- $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
+ - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
- $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
- $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
@@ -305,4 +328,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
new file mode 100644
index 000000000000..58ed986b82aa
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
@@ -0,0 +1,601 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CostManagementClient",
+ "version": "2020-03-01-preview"
+ },
+ "tags": [
+ {
+ "name": "CostAllocationRules",
+ "description": "An API for creating and managing cost allocation rules within a billing account or enterprise enrollment. These rules can be used to reallocate cost between resources, filtered by Resource Group, Subscription, or Tag."
+ }
+ ],
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules": {
+ "get": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_List",
+ "description": "Get the list of all cost allocation rules for a billing account or enterprise enrollment.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CostAllocationRulesList": {
+ "$ref": "./examples/CostAllocationRulesList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of cost allocation rules for the billing account or enterprise enrollment.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_CheckNameAvailability",
+ "description": "Checks availability and correctness of a name for a cost allocation rule",
+ "x-ms-examples": {
+ "CostAllocationRuleCheckNameAvailability": {
+ "$ref": "./examples/CostAllocationRuleCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "costAllocationRuleCheckNameAvailabilityRequest",
+ "description": "Cost allocation rule to be created or updated",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response of cost allocation rule name availability.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}": {
+ "get": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_Get",
+ "description": "Get a cost allocation rule by rule name and billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRules": {
+ "$ref": "./examples/CostAllocationRuleGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_CreateOrUpdate",
+ "description": "Create/Update a rule to allocate cost between different resources within a billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRulesCreateResourceGroup": {
+ "$ref": "./examples/CostAllocationRuleCreate.json"
+ },
+ "CostAllocationRulesCreateTag": {
+ "$ref": "./examples/CostAllocationRuleCreateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ },
+ {
+ "name": "costAllocationRule",
+ "description": "Cost allocation rule to be created or updated",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_Delete",
+ "description": "Delete cost allocation rule for billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRules": {
+ "$ref": "./examples/CostAllocationRuleDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Rule did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "CostAllocationRuleList": {
+ "type": "object",
+ "description": "Result of listing cost allocation rules. It contains a list of available rules in the billing account or enterprise enrollment provided.",
+ "properties": {
+ "value": {
+ "description": "The list of cost allocation rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of rule list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CostAllocationRuleCheckNameAvailabilityRequest": {
+ "type": "object",
+ "description": "The cost allocation rule check name availability request",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Rule name"
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type. This is expected to be Microsoft.CostManagement/costAllocationRules"
+ }
+ }
+ },
+ "CostAllocationRuleCheckNameAvailabilityResponse": {
+ "type": "object",
+ "description": "The cost allocation rule check name availability response",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Whether this rule name is available"
+ },
+ "reason": {
+ "$ref": "#/definitions/Reason",
+ "description": "The reason this name is not available"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message if the name is not available"
+ }
+ }
+ },
+ "Reason": {
+ "type": "string",
+ "description": "The reason this name is not available.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists",
+ "Valid"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": true
+ }
+ },
+ "CostAllocationRuleDefinition": {
+ "type": "object",
+ "description": "The cost allocation rule model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure Resource Manager Id for the rule. This is a read ony value."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the rule. This is a read only value."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule."
+ },
+ "properties": {
+ "description": "Cost allocation rule properties",
+ "$ref": "#/definitions/CostAllocationRuleProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CostAllocationRuleProperties": {
+ "type": "object",
+ "description": "The properties of a cost allocation rule",
+ "additionalProperties": false,
+ "required": [
+ "details",
+ "status"
+ ],
+ "properties": {
+ "description": {
+ "description": "Description of a cost allocation rule.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Resource information for the cost allocation rule",
+ "$ref": "#/definitions/CostAllocationRuleDetails"
+ },
+ "status": {
+ "$ref": "#/definitions/RuleStatus",
+ "description": "Status of the rule"
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation."
+ },
+ "updatedDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time at which the rule was last updated."
+ }
+ }
+ },
+ "RuleStatus": {
+ "type": "string",
+ "description": "Current status of the rule.",
+ "enum": [
+ "NotActive",
+ "Active",
+ "Processing"
+ ],
+ "x-ms-enum": {
+ "name": "RuleStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotActive",
+ "description": "Rule is saved but not used to allocate costs.",
+ "name": "NotActive"
+ },
+ {
+ "value": "Active",
+ "description": "Rule is saved and impacting cost allocation.",
+ "name": "Active"
+ },
+ {
+ "value": "Processing",
+ "description": "Rule is saved and cost allocation is being updated. Readonly value that cannot be submitted in a put request.",
+ "name": "Processing"
+ }
+ ]
+ }
+ },
+ "CostAllocationRuleDetails": {
+ "type": "object",
+ "description": "Resource details of the cost allocation rule",
+ "properties": {
+ "sourceResources": {
+ "description": "Source resources for cost allocation. At this time, this list can contain no more than one element.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceCostAllocationResource"
+ }
+ },
+ "targetResources": {
+ "type": "array",
+ "description": "Target resources for cost allocation. At this time, this list can contain no more than one element.",
+ "items": {
+ "$ref": "#/definitions/TargetCostAllocationResource"
+ }
+ }
+ }
+ },
+ "CostAllocationResource": {
+ "type": "object",
+ "description": "Common values for resources for cost allocation",
+ "required": [
+ "resourceType",
+ "name"
+ ],
+ "properties": {
+ "resourceType": {
+ "description": "Type of resources contained in this cost allocation rule",
+ "$ref": "#/definitions/CostAllocationResourceType"
+ },
+ "name": {
+ "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag",
+ "type": "string"
+ }
+ }
+ },
+ "SourceCostAllocationResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CostAllocationResource"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "values": {
+ "description": "Source Resources for cost allocation. This list cannot contain more than 25 values.",
+ "type": "array",
+ "items": {
+ "description": "Source resource for cost allocation",
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "values"
+ ]
+ }
+ ],
+ "description": "Source resources for cost allocation"
+ },
+ "TargetCostAllocationResource": {
+ "description": "Target resources for cost allocation.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CostAllocationResource"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "values": {
+ "description": "Target resources for cost allocation. This list cannot contain more than 25 values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CostAllocationProportion"
+ }
+ },
+ "policyType": {
+ "description": "Method of cost allocation for the rule",
+ "$ref": "#/definitions/CostAllocationPolicyType"
+ }
+ },
+ "required": [
+ "values",
+ "policyType"
+ ]
+ }
+ ]
+ },
+ "CostAllocationResourceType": {
+ "type": "string",
+ "description": "Category of resource to use for allocation.",
+ "enum": [
+ "Dimension",
+ "Tag"
+ ],
+ "x-ms-enum": {
+ "name": "CostAllocationResourceType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Dimension",
+ "description": "Indicates an Azure dimension such as a subscription id or resource group name is being used for allocation.",
+ "name": "Dimension"
+ },
+ {
+ "value": "Tag",
+ "description": "Allocates cost based on Azure Tag key value pairs.",
+ "name": "Tag"
+ }
+ ]
+ }
+ },
+ "CostAllocationProportion": {
+ "type": "object",
+ "description": "Target resources and allocation",
+ "required": [
+ "percentage",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Target resource for cost allocation",
+ "type": "string"
+ },
+ "percentage": {
+ "description": "Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00.",
+ "type": "number"
+ }
+ }
+ },
+ "CostAllocationPolicyType": {
+ "type": "string",
+ "description": "Method to use for allocating cost. FixedProportion indicates that cost will be split based on specified percentage values.",
+ "enum": [
+ "FixedProportion"
+ ],
+ "x-ms-enum": {
+ "name": "CostAllocationPolicyType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request (e.g. '2020-06-01')."
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ruleNameParameter": {
+ "name": "ruleName",
+ "in": "path",
+ "description": "Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json
new file mode 100644
index 000000000000..01dce08d0ffc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "costAllocationRuleCheckNameAvailabilityRequest": {
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "A cost allocation rule with name testRule is already present for the billing account 100. Please specify a differnt name."
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json
new file mode 100644
index 000000000000..82d5cefa2b2e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule",
+ "costAllocationRule": {
+ "properties": {
+ "description": "This is a testRule",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG",
+ "secondRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 45
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 54
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Creating",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json
new file mode 100644
index 000000000000..87edfcec150c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule",
+ "costAllocationRule": {
+ "properties": {
+ "description": "This is a testRule",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Tag",
+ "name": "category",
+ "values": [
+ "devops"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 33.33
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 33.33
+ },
+ {
+ "name": "destinationRG3",
+ "percentage": 33.34
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Creating",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json
new file mode 100644
index 000000000000..3a796c1a47b5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json
new file mode 100644
index 000000000000..c2e38a9710ed
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "NotActive",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json
new file mode 100644
index 000000000000..96642fa6fdb5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "NotActive",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule2",
+ "name": "testRule2",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a second test Rule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "SubscriptionId",
+ "values": [
+ "2A002F2D-536F-4D7C-90DA-3D0BAE879B0E"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Tag",
+ "policyType": "FixedProportion",
+ "name": "category",
+ "values": [
+ {
+ "name": "devops",
+ "percentage": 100
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule3",
+ "name": "testRule3",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a third test Rule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Tag",
+ "name": "category",
+ "values": [
+ "devops"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "ResourceGroup",
+ "percentage": 55.55
+ },
+ {
+ "name": "ResourceGroupSecond",
+ "percentage": 44.45
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
new file mode 100644
index 000000000000..00b0485fcc45
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
@@ -0,0 +1,951 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExportList": {
+ "$ref": "./examples/ExportListBySubscription.json"
+ },
+ "ResourceGroupExportList": {
+ "$ref": "./examples/ExportListByResourceGroup.json"
+ },
+ "BillingAccountExportList": {
+ "$ref": "./examples/ExportListByBillingAccount.json"
+ },
+ "DepartmentExportList": {
+ "$ref": "./examples/ExportListByDepartment.json"
+ },
+ "EnrollmentAccountExportList": {
+ "$ref": "./examples/ExportListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExportList": {
+ "$ref": "./examples/ExportListByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "The operation to get the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExport": {
+ "$ref": "./examples/ExportBySubscription.json"
+ },
+ "ResourceGroupExport": {
+ "$ref": "./examples/ExportByResourceGroup.json"
+ },
+ "BillingAccountExport": {
+ "$ref": "./examples/ExportByBillingAccount.json"
+ },
+ "DepartmentExport": {
+ "$ref": "./examples/ExportByDepartment.json"
+ },
+ "EnrollmentAccountExport": {
+ "$ref": "./examples/ExportByEnrollmentAccount.json"
+ },
+ "ManagementGroupExport": {
+ "$ref": "./examples/ExportByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ResourceGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "BillingAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "DepartmentCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "EnrollmentAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ManagementGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDeleteExport": {
+ "$ref": "./examples/ExportDeleteBySubscription.json"
+ },
+ "ResourceGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "BillingAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "EnrollmentAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "DepartmentDeleteExport": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ManagementGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecuteExport": {
+ "$ref": "./examples/ExportExecutionBySubscription.json"
+ },
+ "ResourceGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByResourceGroup.json"
+ },
+ "BillingAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByBillingAccount.json"
+ },
+ "DepartmentExecuteExport": {
+ "$ref": "./examples/ExportExecutionByDepartment.json"
+ },
+ "EnrollmentAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "The operation to get the execution history of an export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListBySubscription.json"
+ },
+ "ResourceGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByResourceGroup.json"
+ },
+ "BillingAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByBillingAccount.json"
+ },
+ "DepartmentExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByDepartment.json"
+ },
+ "EnrollmentAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "QueryDefinition": {
+ "description": "The definition of a query.",
+ "properties": {
+ "type": {
+ "description": "The type of the query.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the query.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this query.",
+ "$ref": "#/definitions/QueryDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "QueryTimePeriod": {
+ "description": "The start and end date for pulling data for the query.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "QueryDataset": {
+ "description": "The definition of data present in the query.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the query.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryGrouping"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the query.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDatasetConfiguration": {
+ "description": "The configuration of dataset in the query.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QueryAggregation": {
+ "description": "The aggregation expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "QueryGrouping": {
+ "description": "The group by expression to be used in the query.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/QueryColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "QueryFilter": {
+ "description": "The filter expression to be used in the export.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ }
+ }
+ },
+ "QueryColumnType": {
+ "description": "The type of the column in the export.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "QueryColumnType",
+ "modelAsString": true
+ }
+ },
+ "QueryComparisonExpression": {
+ "description": "The comparison expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ExportListResult": {
+ "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of exports.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ }
+ },
+ "Export": {
+ "description": "A export resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportProperties",
+ "title": "Export properties"
+ }
+ }
+ },
+ "ExportProperties": {
+ "description": "The properties of the export.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ ],
+ "properties": {
+ "schedule": {
+ "description": "Has schedule information for the export.",
+ "$ref": "#/definitions/ExportSchedule"
+ }
+ }
+ },
+ "CommonExportProperties": {
+ "description": "The common properties of the export.",
+ "properties": {
+ "format": {
+ "description": "The format of the export being delivered.",
+ "type": "string",
+ "enum": [
+ "Csv"
+ ],
+ "x-ms-enum": {
+ "name": "FormatType",
+ "modelAsString": true
+ }
+ },
+ "deliveryInfo": {
+ "description": "Has delivery information for the export.",
+ "$ref": "#/definitions/ExportDeliveryInfo"
+ },
+ "definition": {
+ "description": "Has definition for the export.",
+ "$ref": "#/definitions/QueryDefinition"
+ }
+ },
+ "required": [
+ "deliveryInfo",
+ "definition"
+ ]
+ },
+ "ExportSchedule": {
+ "description": "The schedule associated with a export.",
+ "properties": {
+ "status": {
+ "description": "The status of the schedule. Whether active or not. If inactive, the export's scheduled execution is paused.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "StatusType",
+ "modelAsString": true
+ }
+ },
+ "recurrence": {
+ "description": "The schedule recurrence.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly",
+ "Annually"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "recurrencePeriod": {
+ "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
+ "$ref": "#/definitions/ExportRecurrencePeriod"
+ }
+ },
+ "required": [
+ "recurrence"
+ ]
+ },
+ "ExportDeliveryInfo": {
+ "description": "The delivery information associated with a export.",
+ "properties": {
+ "destination": {
+ "description": "Has destination for the export being delivered.",
+ "$ref": "#/definitions/ExportDeliveryDestination"
+ }
+ },
+ "required": [
+ "destination"
+ ]
+ },
+ "ExportRecurrencePeriod": {
+ "description": "The start and end date for recurrence schedule.",
+ "properties": {
+ "from": {
+ "description": "The start date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from"
+ ]
+ },
+ "ExportDeliveryDestination": {
+ "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id of the storage account where exports will be delivered.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container where exports will be uploaded.",
+ "type": "string"
+ },
+ "rootFolderPath": {
+ "description": "The name of the directory where exports will be uploaded.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceId",
+ "container"
+ ]
+ },
+ "ExportExecutionListResult": {
+ "description": "Result of listing exports execution history of a export by name",
+ "properties": {
+ "value": {
+ "description": "The list of export executions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExportExecution"
+ }
+ }
+ }
+ },
+ "ExportExecution": {
+ "description": "A export execution.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportExecutionProperties",
+ "title": "Export execution properties"
+ }
+ }
+ },
+ "ExportExecutionProperties": {
+ "description": "The properties of the export execution.",
+ "properties": {
+ "executionType": {
+ "description": "The type of the export execution.",
+ "type": "string",
+ "enum": [
+ "OnDemand",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the export execution.",
+ "type": "string",
+ "enum": [
+ "Queued",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "Timeout",
+ "NewDataNotAvailable",
+ "DataNotAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionStatus",
+ "modelAsString": true
+ }
+ },
+ "submittedBy": {
+ "description": "The identifier for the entity that executed the export. For OnDemand executions, it is the email id. For Scheduled executions, it is the constant value - System.",
+ "type": "string"
+ },
+ "submittedTime": {
+ "description": "The time when export was queued to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingStartTime": {
+ "description": "The time when export was picked up to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingEndTime": {
+ "description": "The time when export execution finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "fileName": {
+ "description": "The name of the file export got written to.",
+ "type": "string"
+ },
+ "runSettings": {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2019-11-01."
+ },
+ "exportNameParameter": {
+ "name": "exportName",
+ "in": "path",
+ "description": "Export Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeQueryParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
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 2f0fc9a8dc97..e7a9d2b5817e 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
@@ -1098,229 +1098,59 @@
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports": {
- "get": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": {
+ "post": {
"tags": [
- "Exports"
+ "ReservedInstances"
],
- "operationId": "Exports_List",
- "description": "The operation to list all exports at the given scope.",
+ "operationId": "GenerateReservationDetailsReport_ByBillingAccountId",
+ "description": "Generates the reservations details report for provided date range asynchronously based on enrollment id.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionExportList": {
- "$ref": "./examples/ExportListBySubscription.json"
- },
- "ResourceGroupExportList": {
- "$ref": "./examples/ExportListByResourceGroup.json"
- },
- "BillingAccountExportList": {
- "$ref": "./examples/ExportListByBillingAccount.json"
- },
- "DepartmentExportList": {
- "$ref": "./examples/ExportListByDepartment.json"
- },
- "EnrollmentAccountExportList": {
- "$ref": "./examples/ExportListByEnrollmentAccount.json"
- },
- "ManagementGroupExportList": {
- "$ref": "./examples/ExportListByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/ExportListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
+ "ReservationDetails": {
+ "$ref": "./examples/GenerateReservationDetailsReportByBillingAccount.json"
}
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Get",
- "description": "The operation to get the export for the defined scope by export name.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
- "x-ms-examples": {
- "SubscriptionExport": {
- "$ref": "./examples/ExportBySubscription.json"
- },
- "ResourceGroupExport": {
- "$ref": "./examples/ExportByResourceGroup.json"
- },
- "BillingAccountExport": {
- "$ref": "./examples/ExportByBillingAccount.json"
- },
- "DepartmentExport": {
- "$ref": "./examples/ExportByDepartment.json"
- },
- "EnrollmentAccountExport": {
- "$ref": "./examples/ExportByEnrollmentAccount.json"
- },
- "ManagementGroupExport": {
- "$ref": "./examples/ExportByManagementGroup.json"
- }
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
+ "$ref": "#/parameters/enrollmentIdParameter"
},
{
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/Export"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_CreateOrUpdate",
- "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "SubscriptionCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
- },
- "ResourceGroupCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
- },
- "BillingAccountCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ "$ref": "#/parameters/startDateParameter"
},
- "DepartmentCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
- },
- "EnrollmentAccountCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
- },
- "ManagementGroupCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
- }
- },
- "parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/endDateParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Export"
- },
- "description": "Parameters supplied to the CreateOrUpdate Export operation."
}
],
"responses": {
"200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/Export"
- }
- },
- "201": {
- "description": "Created.",
+ "description": "Request processing completed.",
"schema": {
- "$ref": "#/definitions/Export"
+ "$ref": "#/definitions/OperationStatus"
}
},
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "202": {
+ "description": "Accepted. Request will be processed. Use the location header to check the status.",
+ "headers": {
+ "Location": {
+ "description": "The URL to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "format": "int32",
+ "type": "integer"
+ }
}
- }
- }
- },
- "delete": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Delete",
- "description": "The operation to delete a export.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "SubscriptionDeleteExport": {
- "$ref": "./examples/ExportDeleteBySubscription.json"
- },
- "ResourceGroupDeleteExport": {
- "$ref": "./examples/ExportDeleteByResourceGroup.json"
- },
- "BillingAccountDeleteExport": {
- "$ref": "./examples/ExportDeleteByBillingAccount.json"
- },
- "EnrollmentAccountDeleteExport": {
- "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
- },
- "DepartmentDeleteExport": {
- "$ref": "./examples/ExportDeleteByDepartment.json"
- },
- "ManagementGroupDeleteExport": {
- "$ref": "./examples/ExportDeleteByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1331,106 +1161,61 @@
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": {
"post": {
"tags": [
- "Exports"
+ "ReservedInstances"
],
- "operationId": "Exports_Execute",
- "description": "The operation to execute a export.",
+ "operationId": "GenerateReservationDetailsReport_ByBillingProfileId",
+ "description": "Generates the reservations details report for provided date range asynchronously by billing profile.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionExecuteExport": {
- "$ref": "./examples/ExportExecutionBySubscription.json"
- },
- "ResourceGroupExecuteExport": {
- "$ref": "./examples/ExportExecutionByResourceGroup.json"
- },
- "BillingAccountExecuteExport": {
- "$ref": "./examples/ExportExecutionByBillingAccount.json"
- },
- "DepartmentExecuteExport": {
- "$ref": "./examples/ExportExecutionByDepartment.json"
- },
- "EnrollmentAccountExecuteExport": {
- "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
- },
- "ManagementGroupExecuteExport": {
- "$ref": "./examples/ExportExecutionByManagementGroup.json"
+ "ReservationDetails": {
+ "$ref": "./examples/GenerateReservationDetailsReportByBillingProfile.json"
}
},
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/billingAccountIdParameter"
},
{
- "$ref": "#/parameters/apiVersionParameter"
+ "$ref": "#/parameters/billingProfileIdParameter"
},
{
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded."
+ "$ref": "#/parameters/startDateParameter"
},
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_GetExecutionHistory",
- "description": "The operation to get the execution history of an export for the defined scope by export name.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "SubscriptionExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListBySubscription.json"
- },
- "ResourceGroupExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByResourceGroup.json"
- },
- "BillingAccountExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByBillingAccount.json"
- },
- "DepartmentExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByDepartment.json"
- },
- "EnrollmentAccountExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
- },
- "ManagementGroupExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByManagementGroup.json"
- }
- },
- "parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/endDateParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
}
],
"responses": {
"200": {
- "description": "OK. The request has succeeded.",
+ "description": "Request processing completed.",
"schema": {
- "$ref": "#/definitions/ExportExecutionListResult"
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted. Request will be processed. Use the Location header to check the status.",
+ "headers": {
+ "Location": {
+ "description": "The URL to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "format": "int32",
+ "type": "integer"
+ }
}
},
"default": {
@@ -2611,6 +2396,53 @@
}
}
},
+ "Status": {
+ "description": "The status of the long running operation.",
+ "properties": {
+ "status": {
+ "description": "The status of the long running operation.",
+ "type": "string",
+ "enum": [
+ "Running",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatusType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "The status of the long running operation.",
+ "properties": {
+ "status": {
+ "description": "The status of the long running operation.",
+ "$ref": "#/definitions/Status"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "The properties of the resource generated.",
+ "$ref": "#/definitions/ReportURL"
+ }
+ }
+ },
+ "ReportURL": {
+ "description": "The URL to download the generated report.",
+ "properties": {
+ "reportUrl": {
+ "description": "The URL to download the generated report.",
+ "type": "string"
+ },
+ "validUntil": {
+ "description": "The time at which report URL becomes invalid.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
"QueryDatasetConfiguration": {
"description": "The configuration of dataset in the query.",
"properties": {
@@ -2741,256 +2573,6 @@
"operator",
"values"
]
- },
- "ExportListResult": {
- "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
- "properties": {
- "value": {
- "description": "The list of exports.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/Export"
- }
- }
- }
- },
- "Export": {
- "description": "A export resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ExportProperties",
- "title": "Export properties"
- }
- }
- },
- "ExportProperties": {
- "description": "The properties of the export.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CommonExportProperties"
- }
- ],
- "properties": {
- "schedule": {
- "description": "Has schedule information for the export.",
- "$ref": "#/definitions/ExportSchedule"
- }
- }
- },
- "CommonExportProperties": {
- "description": "The common properties of the export.",
- "properties": {
- "format": {
- "description": "The format of the export being delivered.",
- "type": "string",
- "enum": [
- "Csv"
- ],
- "x-ms-enum": {
- "name": "FormatType",
- "modelAsString": true
- }
- },
- "deliveryInfo": {
- "description": "Has delivery information for the export.",
- "$ref": "#/definitions/ExportDeliveryInfo"
- },
- "definition": {
- "description": "Has definition for the export.",
- "$ref": "#/definitions/QueryDefinition"
- }
- },
- "required": [
- "deliveryInfo",
- "definition"
- ]
- },
- "ExportSchedule": {
- "description": "The schedule associated with a export.",
- "properties": {
- "status": {
- "description": "The status of the schedule. Whether active or not. If inactive, the export's scheduled execution is paused.",
- "type": "string",
- "enum": [
- "Active",
- "Inactive"
- ],
- "x-ms-enum": {
- "name": "StatusType",
- "modelAsString": true
- }
- },
- "recurrence": {
- "description": "The schedule recurrence.",
- "type": "string",
- "enum": [
- "Daily",
- "Weekly",
- "Monthly",
- "Annually"
- ],
- "x-ms-enum": {
- "name": "RecurrenceType",
- "modelAsString": true
- }
- },
- "recurrencePeriod": {
- "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
- "$ref": "#/definitions/ExportRecurrencePeriod"
- }
- },
- "required": [
- "recurrence"
- ]
- },
- "ExportDeliveryInfo": {
- "description": "The delivery information associated with a export.",
- "properties": {
- "destination": {
- "description": "Has destination for the export being delivered.",
- "$ref": "#/definitions/ExportDeliveryDestination"
- }
- },
- "required": [
- "destination"
- ]
- },
- "ExportRecurrencePeriod": {
- "description": "The start and end date for recurrence schedule.",
- "properties": {
- "from": {
- "description": "The start date of recurrence.",
- "type": "string",
- "format": "date-time"
- },
- "to": {
- "description": "The end date of recurrence.",
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "from"
- ]
- },
- "ExportDeliveryDestination": {
- "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
- "properties": {
- "resourceId": {
- "description": "The resource id of the storage account where exports will be delivered.",
- "type": "string"
- },
- "container": {
- "description": "The name of the container where exports will be uploaded.",
- "type": "string"
- },
- "rootFolderPath": {
- "description": "The name of the directory where exports will be uploaded.",
- "type": "string"
- }
- },
- "required": [
- "resourceId",
- "container"
- ]
- },
- "ExportExecutionListResult": {
- "description": "Result of listing exports execution history of a export by name",
- "properties": {
- "value": {
- "description": "The list of export executions.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/ExportExecution"
- }
- }
- }
- },
- "ExportExecution": {
- "description": "A export execution.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ExportExecutionProperties",
- "title": "Export execution properties"
- }
- }
- },
- "ExportExecutionProperties": {
- "description": "The properties of the export execution.",
- "properties": {
- "executionType": {
- "description": "The type of the export execution.",
- "type": "string",
- "enum": [
- "OnDemand",
- "Scheduled"
- ],
- "x-ms-enum": {
- "name": "ExecutionType",
- "modelAsString": true
- }
- },
- "status": {
- "description": "The status of the export execution.",
- "type": "string",
- "enum": [
- "Queued",
- "InProgress",
- "Completed",
- "Failed",
- "Timeout",
- "NewDataNotAvailable",
- "DataNotAvailable"
- ],
- "x-ms-enum": {
- "name": "ExecutionStatus",
- "modelAsString": true
- }
- },
- "submittedBy": {
- "description": "The identifier for the entity that executed the export. For OnDemand executions, it is the email id. For Scheduled executions, it is the constant value - System.",
- "type": "string"
- },
- "submittedTime": {
- "description": "The time when export was queued to be executed.",
- "type": "string",
- "format": "date-time"
- },
- "processingStartTime": {
- "description": "The time when export was picked up to be executed.",
- "type": "string",
- "format": "date-time"
- },
- "processingEndTime": {
- "description": "The time when export execution finished.",
- "type": "string",
- "format": "date-time"
- },
- "fileName": {
- "description": "The name of the file export got written to.",
- "type": "string"
- },
- "runSettings": {
- "$ref": "#/definitions/CommonExportProperties"
- }
- }
}
},
"parameters": {
@@ -3068,6 +2650,30 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "startDateParameter": {
+ "name": "startDate",
+ "in": "query",
+ "description": "Start Date",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "endDateParameter": {
+ "name": "endDate",
+ "in": "query",
+ "description": "End Date",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "Enrollment ID (Legacy BillingAccount ID)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"billingAccountIdParameter": {
"name": "billingAccountId",
"in": "path",
@@ -3076,6 +2682,14 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "billingProfileIdParameter": {
+ "name": "billingProfileId",
+ "in": "path",
+ "description": "BillingProfile ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"managementGroupIdParameter": {
"name": "managementGroupId",
"in": "path",
@@ -3100,14 +2714,6 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "exportNameParameter": {
- "name": "exportName",
- "in": "path",
- "description": "Export Name.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"externalCloudProviderTypeParameter": {
"name": "externalCloudProviderType",
"in": "path",
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json
new file mode 100644
index 000000000000..d8c8f0f40faf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "billingAccountId": "9845612",
+ "startDate": "2020-01-01",
+ "endDate": "2020-01-30",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/9845612/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "status": "Completed",
+ "properties": {
+ "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ",
+ "validUntil": "2020-09-12T02:56:55.5021869Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json
new file mode 100644
index 000000000000..a4bd203ef284
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "billingAccountId": "00000000-0000-0000-0000-000000000000",
+ "billingProfileId": "CZSFR-SDFXC-DSDF",
+ "startDate": "2020-01-01",
+ "endDate": "2020-01-30",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000/billingProfiles/CZSFR-SDFXC-DSDF/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "status": "Completed",
+ "properties": {
+ "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ",
+ "validUntil": "2020-09-12T02:56:55.5021869Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
new file mode 100644
index 000000000000..6f5153b995a9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
@@ -0,0 +1,1139 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportsGetBySubscription": {
+ "$ref": "./examples/ExportsGetBySubscription.json"
+ },
+ "ExportsGetByResourceGroup": {
+ "$ref": "./examples/ExportsGetByResourceGroup.json"
+ },
+ "ExportsGetByBillingAccount": {
+ "$ref": "./examples/ExportsGetByBillingAccount.json"
+ },
+ "ExportsGetByDepartment": {
+ "$ref": "./examples/ExportsGetByDepartment.json"
+ },
+ "ExportsGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportsGetByEnrollmentAccount.json"
+ },
+ "ExportsGetByManagementGroup": {
+ "$ref": "./examples/ExportsGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "The operation to get the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportGetBySubscription": {
+ "$ref": "./examples/ExportGetBySubscription.json"
+ },
+ "ExportGetByResourceGroup": {
+ "$ref": "./examples/ExportGetByResourceGroup.json"
+ },
+ "ExportGetByBillingAccount": {
+ "$ref": "./examples/ExportGetByBillingAccount.json"
+ },
+ "ExportGetByDepartment": {
+ "$ref": "./examples/ExportGetByDepartment.json"
+ },
+ "ExportGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportGetByEnrollmentAccount.json"
+ },
+ "ExportGetByManagementGroup": {
+ "$ref": "./examples/ExportGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportCreateOrUpdateBySubscription": {
+ "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ExportCreateOrUpdateByResourceGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "ExportCreateOrUpdateByBillingAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "ExportCreateOrUpdateByDepartment": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "ExportCreateOrUpdateByEnrollmentAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ExportCreateOrUpdateByManagementGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportDeleteBySubscription": {
+ "$ref": "./examples/ExportDeleteBySubscription.json"
+ },
+ "ExportDeleteByResourceGroup": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "ExportDeleteByBillingAccount": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "ExportDeleteByEnrollmentAccount": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "ExportDeleteByDepartment": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ExportDeleteByManagementGroup": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute an export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunBySubscription": {
+ "$ref": "./examples/ExportRunBySubscription.json"
+ },
+ "ExportRunByResourceGroup": {
+ "$ref": "./examples/ExportRunByResourceGroup.json"
+ },
+ "ExportRunByBillingAccount": {
+ "$ref": "./examples/ExportRunByBillingAccount.json"
+ },
+ "ExportRunByDepartment": {
+ "$ref": "./examples/ExportRunByDepartment.json"
+ },
+ "ExportRunByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunByEnrollmentAccount.json"
+ },
+ "ExportRunByManagementGroup": {
+ "$ref": "./examples/ExportRunByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "The operation to get the execution history of an export for the defined scope and export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunHistoryGetBySubscription": {
+ "$ref": "./examples/ExportRunHistoryGetBySubscription.json"
+ },
+ "ExportRunHistoryGetByResourceGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json"
+ },
+ "ExportRunHistoryGetByBillingAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json"
+ },
+ "ExportRunHistoryGetByDepartment": {
+ "$ref": "./examples/ExportRunHistoryGetByDepartment.json"
+ },
+ "ExportRunHistoryGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json"
+ },
+ "ExportRunHistoryGetByManagementGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReportConfigDefinition": {
+ "description": "The definition of a report config.",
+ "properties": {
+ "type": {
+ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ReportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ReportTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the report.",
+ "$ref": "#/definitions/ReportConfigTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this report config.",
+ "$ref": "#/definitions/ReportConfigDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ReportConfigTimePeriod": {
+ "description": "The start and end date for pulling data for the report.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ReportConfigDataset": {
+ "description": "The definition of data present in the report.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the report.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReportGranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/ReportConfigDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/ReportConfigAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "description": "Array of order by expression to use in the report.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigSorting"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the report.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ }
+ }
+ },
+ "ReportConfigDatasetConfiguration": {
+ "description": "The configuration of dataset in the report.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportConfigAggregation": {
+ "description": "The aggregation expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "ReportConfigSorting": {
+ "description": "The order by expression to be used in the report.",
+ "properties": {
+ "direction": {
+ "description": "Direction of sort.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ]
+ },
+ "name": {
+ "description": "The name of the column to sort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ReportConfigGrouping": {
+ "description": "The group by expression to be used in the report.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/ReportConfigColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group. This version supports subscription lowest possible grain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "ReportConfigFilter": {
+ "description": "The filter expression to be used in the report.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ }
+ }
+ },
+ "ReportConfigColumnType": {
+ "description": "The type of the column in the report.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "ReportConfigColumnType",
+ "modelAsString": true
+ }
+ },
+ "ReportConfigComparisonExpression": {
+ "description": "The comparison expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "eTag": {
+ "type": "string",
+ "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExportListResult": {
+ "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of exports.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ }
+ },
+ "Export": {
+ "description": "An export resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportProperties",
+ "title": "Export properties"
+ }
+ }
+ },
+ "ExportProperties": {
+ "description": "The properties of the export.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ ],
+ "properties": {
+ "schedule": {
+ "description": "Has schedule information for the export.",
+ "$ref": "#/definitions/ExportSchedule"
+ }
+ }
+ },
+ "CommonExportProperties": {
+ "description": "The common properties of the export.",
+ "type": "object",
+ "properties": {
+ "format": {
+ "description": "The format of the export being delivered. Currently only 'Csv' is supported.",
+ "type": "string",
+ "enum": [
+ "Csv"
+ ],
+ "x-ms-enum": {
+ "name": "FormatType",
+ "modelAsString": true
+ }
+ },
+ "deliveryInfo": {
+ "description": "Has delivery information for the export.",
+ "$ref": "#/definitions/ExportDeliveryInfo"
+ },
+ "definition": {
+ "description": "Has the definition for the export.",
+ "$ref": "#/definitions/ExportDefinition"
+ },
+ "runHistory": {
+ "description": "If requested, has the most recent execution history for the export.",
+ "$ref": "#/definitions/ExportExecutionListResult"
+ },
+ "nextRunTimeEstimate": {
+ "description": "If the export has an active schedule, provides an estimate of the next execution time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "deliveryInfo",
+ "definition"
+ ]
+ },
+ "ExportSchedule": {
+ "description": "The schedule associated with the export.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the export's schedule. If 'Inactive', the export's schedule is paused.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "StatusType",
+ "modelAsString": true
+ }
+ },
+ "recurrence": {
+ "description": "The schedule recurrence.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly",
+ "Annually"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "recurrencePeriod": {
+ "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
+ "$ref": "#/definitions/ExportRecurrencePeriod"
+ }
+ },
+ "required": [
+ "recurrence"
+ ]
+ },
+ "ExportDeliveryInfo": {
+ "description": "The delivery information associated with a export.",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "description": "Has destination for the export being delivered.",
+ "$ref": "#/definitions/ExportDeliveryDestination"
+ }
+ },
+ "required": [
+ "destination"
+ ]
+ },
+ "ExportRecurrencePeriod": {
+ "description": "The start and end date for recurrence schedule.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from"
+ ]
+ },
+ "ExportDeliveryDestination": {
+ "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id of the storage account where exports will be delivered.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container where exports will be uploaded.",
+ "type": "string"
+ },
+ "rootFolderPath": {
+ "description": "The name of the directory where exports will be uploaded.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceId",
+ "container"
+ ]
+ },
+ "ExportDefinition": {
+ "description": "The definition of an export.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the export. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the export.",
+ "$ref": "#/definitions/ExportTimePeriod"
+ },
+ "dataSet": {
+ "description": "The definition for data in the export.",
+ "$ref": "#/definitions/ExportDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ExportDataset": {
+ "description": "The definition for data in the export.",
+ "type": "object",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the export. Currently only 'Daily' is supported.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "The export dataset configuration.",
+ "$ref": "#/definitions/ExportDatasetConfiguration"
+ }
+ }
+ },
+ "ExportDatasetConfiguration": {
+ "description": "The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns.",
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExportTimePeriod": {
+ "description": "The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date for export data.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date for export data.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ExportExecutionListResult": {
+ "description": "Result of listing the execution history of an export.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of export executions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExportExecution"
+ }
+ }
+ }
+ },
+ "ExportExecution": {
+ "description": "An export execution.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportExecutionProperties",
+ "title": "Export execution properties"
+ }
+ }
+ },
+ "ExportExecutionProperties": {
+ "description": "The properties of the export execution.",
+ "type": "object",
+ "properties": {
+ "executionType": {
+ "description": "The type of the export execution.",
+ "type": "string",
+ "enum": [
+ "OnDemand",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The last known status of the export execution.",
+ "type": "string",
+ "enum": [
+ "Queued",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "Timeout",
+ "NewDataNotAvailable",
+ "DataNotAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionStatus",
+ "modelAsString": true
+ }
+ },
+ "submittedBy": {
+ "description": "The identifier for the entity that executed the export. For OnDemand executions it is the user email. For scheduled executions it is 'System'.",
+ "type": "string"
+ },
+ "submittedTime": {
+ "description": "The time when export was queued to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingStartTime": {
+ "description": "The time when export was picked up to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingEndTime": {
+ "description": "The time when the export execution finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "fileName": {
+ "description": "The name of the exported file.",
+ "type": "string"
+ },
+ "runSettings": {
+ "description": "The export settings that were in effect for this execution.",
+ "$ref": "#/definitions/CommonExportProperties"
+ },
+ "error": {
+ "description": "The details of any error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2020-06-01."
+ },
+ "scopeExportParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "exportNameParameter": {
+ "name": "exportName",
+ "in": "path",
+ "description": "Export Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
index 456686294225..1bf76b2ce885 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
@@ -1098,364 +1098,6 @@
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_List",
- "description": "The operation to list all exports at the given scope.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportsGetBySubscription": {
- "$ref": "./examples/ExportsGetBySubscription.json"
- },
- "ExportsGetByResourceGroup": {
- "$ref": "./examples/ExportsGetByResourceGroup.json"
- },
- "ExportsGetByBillingAccount": {
- "$ref": "./examples/ExportsGetByBillingAccount.json"
- },
- "ExportsGetByDepartment": {
- "$ref": "./examples/ExportsGetByDepartment.json"
- },
- "ExportsGetByEnrollmentAccount": {
- "$ref": "./examples/ExportsGetByEnrollmentAccount.json"
- },
- "ExportsGetByManagementGroup": {
- "$ref": "./examples/ExportsGetByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "name": "$expand",
- "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.",
- "in": "query",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/ExportListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Get",
- "description": "The operation to get the export for the defined scope by export name.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportGetBySubscription": {
- "$ref": "./examples/ExportGetBySubscription.json"
- },
- "ExportGetByResourceGroup": {
- "$ref": "./examples/ExportGetByResourceGroup.json"
- },
- "ExportGetByBillingAccount": {
- "$ref": "./examples/ExportGetByBillingAccount.json"
- },
- "ExportGetByDepartment": {
- "$ref": "./examples/ExportGetByDepartment.json"
- },
- "ExportGetByEnrollmentAccount": {
- "$ref": "./examples/ExportGetByEnrollmentAccount.json"
- },
- "ExportGetByManagementGroup": {
- "$ref": "./examples/ExportGetByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- },
- {
- "name": "$expand",
- "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.",
- "in": "query",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/Export"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_CreateOrUpdate",
- "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportCreateOrUpdateBySubscription": {
- "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
- },
- "ExportCreateOrUpdateByResourceGroup": {
- "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
- },
- "ExportCreateOrUpdateByBillingAccount": {
- "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
- },
- "ExportCreateOrUpdateByDepartment": {
- "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
- },
- "ExportCreateOrUpdateByEnrollmentAccount": {
- "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
- },
- "ExportCreateOrUpdateByManagementGroup": {
- "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Export"
- },
- "description": "Parameters supplied to the CreateOrUpdate Export operation."
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/Export"
- }
- },
- "201": {
- "description": "Created.",
- "schema": {
- "$ref": "#/definitions/Export"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Delete",
- "description": "The operation to delete a export.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportDeleteBySubscription": {
- "$ref": "./examples/ExportDeleteBySubscription.json"
- },
- "ExportDeleteByResourceGroup": {
- "$ref": "./examples/ExportDeleteByResourceGroup.json"
- },
- "ExportDeleteByBillingAccount": {
- "$ref": "./examples/ExportDeleteByBillingAccount.json"
- },
- "ExportDeleteByEnrollmentAccount": {
- "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
- },
- "ExportDeleteByDepartment": {
- "$ref": "./examples/ExportDeleteByDepartment.json"
- },
- "ExportDeleteByManagementGroup": {
- "$ref": "./examples/ExportDeleteByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
- "post": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Execute",
- "description": "The operation to execute an export.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportRunBySubscription": {
- "$ref": "./examples/ExportRunBySubscription.json"
- },
- "ExportRunByResourceGroup": {
- "$ref": "./examples/ExportRunByResourceGroup.json"
- },
- "ExportRunByBillingAccount": {
- "$ref": "./examples/ExportRunByBillingAccount.json"
- },
- "ExportRunByDepartment": {
- "$ref": "./examples/ExportRunByDepartment.json"
- },
- "ExportRunByEnrollmentAccount": {
- "$ref": "./examples/ExportRunByEnrollmentAccount.json"
- },
- "ExportRunByManagementGroup": {
- "$ref": "./examples/ExportRunByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_GetExecutionHistory",
- "description": "The operation to get the execution history of an export for the defined scope and export name.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
- },
- "x-ms-examples": {
- "ExportRunHistoryGetBySubscription": {
- "$ref": "./examples/ExportRunHistoryGetBySubscription.json"
- },
- "ExportRunHistoryGetByResourceGroup": {
- "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json"
- },
- "ExportRunHistoryGetByBillingAccount": {
- "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json"
- },
- "ExportRunHistoryGetByDepartment": {
- "$ref": "./examples/ExportRunHistoryGetByDepartment.json"
- },
- "ExportRunHistoryGetByEnrollmentAccount": {
- "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json"
- },
- "ExportRunHistoryGetByManagementGroup": {
- "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/ExportExecutionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
"/providers/Microsoft.CostManagement/operations": {
"get": {
"tags": [
@@ -2502,7 +2144,7 @@
},
"dataset": {
"description": "Has definition for data in this forecast.",
- "$ref": "#/definitions/QueryDataset"
+ "$ref": "#/definitions/ForecastDataset"
},
"includeActualCost": {
"description": "a boolean determining if actualCost will be included",
@@ -2518,11 +2160,45 @@
"timeframe"
]
},
- "QueryDefinition": {
- "description": "The definition of a query.",
+ "ForecastDataset": {
+ "description": "The definition of data present in the forecast.",
"properties": {
- "type": {
- "description": "The type of the query.",
+ "granularity": {
+ "description": "The granularity of rows in the forecast.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the forecast. The key of each item in the dictionary is the alias for the aggregated column. forecast can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the forecast.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDefinition": {
+ "description": "The definition of a query.",
+ "properties": {
+ "type": {
+ "description": "The type of the query.",
"type": "string",
"enum": [
"Usage",
@@ -2755,383 +2431,16 @@
"operator",
"values"
]
- },
- "ExportListResult": {
- "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of exports.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/Export"
- }
- }
- }
- },
- "Export": {
- "description": "An export resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ExportProperties",
- "title": "Export properties"
- }
- }
- },
- "ExportProperties": {
- "description": "The properties of the export.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CommonExportProperties"
- }
- ],
- "properties": {
- "schedule": {
- "description": "Has schedule information for the export.",
- "$ref": "#/definitions/ExportSchedule"
- }
- }
- },
- "CommonExportProperties": {
- "description": "The common properties of the export.",
- "type": "object",
- "properties": {
- "format": {
- "description": "The format of the export being delivered. Currently only 'Csv' is supported.",
- "type": "string",
- "enum": [
- "Csv"
- ],
- "x-ms-enum": {
- "name": "FormatType",
- "modelAsString": true
- }
- },
- "deliveryInfo": {
- "description": "Has delivery information for the export.",
- "$ref": "#/definitions/ExportDeliveryInfo"
- },
- "definition": {
- "description": "Has the definition for the export.",
- "$ref": "#/definitions/ExportDefinition"
- },
- "runHistory": {
- "description": "If requested, has the most recent execution history for the export.",
- "$ref": "#/definitions/ExportExecutionListResult"
- },
- "nextRunTimeEstimate": {
- "description": "If the export has an active schedule, provides an estimate of the next execution time.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- }
- },
- "required": [
- "deliveryInfo",
- "definition"
- ]
- },
- "ExportSchedule": {
- "description": "The schedule associated with the export.",
- "type": "object",
- "properties": {
- "status": {
- "description": "The status of the export's schedule. If 'Inactive', the export's schedule is paused.",
- "type": "string",
- "enum": [
- "Active",
- "Inactive"
- ],
- "x-ms-enum": {
- "name": "StatusType",
- "modelAsString": true
- }
- },
- "recurrence": {
- "description": "The schedule recurrence.",
- "type": "string",
- "enum": [
- "Daily",
- "Weekly",
- "Monthly",
- "Annually"
- ],
- "x-ms-enum": {
- "name": "RecurrenceType",
- "modelAsString": true
- }
- },
- "recurrencePeriod": {
- "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
- "$ref": "#/definitions/ExportRecurrencePeriod"
- }
- },
- "required": [
- "recurrence"
- ]
- },
- "ExportDeliveryInfo": {
- "description": "The delivery information associated with a export.",
- "type": "object",
- "properties": {
- "destination": {
- "description": "Has destination for the export being delivered.",
- "$ref": "#/definitions/ExportDeliveryDestination"
- }
- },
- "required": [
- "destination"
- ]
- },
- "ExportRecurrencePeriod": {
- "description": "The start and end date for recurrence schedule.",
- "type": "object",
- "properties": {
- "from": {
- "description": "The start date of recurrence.",
- "type": "string",
- "format": "date-time"
- },
- "to": {
- "description": "The end date of recurrence.",
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "from"
- ]
- },
- "ExportDeliveryDestination": {
- "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
- "type": "object",
- "properties": {
- "resourceId": {
- "description": "The resource id of the storage account where exports will be delivered.",
- "type": "string"
- },
- "container": {
- "description": "The name of the container where exports will be uploaded.",
- "type": "string"
- },
- "rootFolderPath": {
- "description": "The name of the directory where exports will be uploaded.",
- "type": "string"
- }
- },
- "required": [
- "resourceId",
- "container"
- ]
- },
- "ExportDefinition": {
- "description": "The definition of an export.",
- "type": "object",
- "properties": {
- "type": {
- "description": "The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations.",
- "type": "string",
- "enum": [
- "Usage",
- "ActualCost",
- "AmortizedCost"
- ],
- "x-ms-enum": {
- "name": "ExportType",
- "modelAsString": true
- }
- },
- "timeframe": {
- "description": "The time frame for pulling data for the export. If custom, then a specific time period must be provided.",
- "type": "string",
- "enum": [
- "MonthToDate",
- "BillingMonthToDate",
- "TheLastMonth",
- "TheLastBillingMonth",
- "WeekToDate",
- "Custom"
- ],
- "x-ms-enum": {
- "name": "TimeframeType",
- "modelAsString": true
- }
- },
- "timePeriod": {
- "description": "Has time period for pulling data for the export.",
- "$ref": "#/definitions/ExportTimePeriod"
- },
- "dataSet": {
- "description": "The definition for data in the export.",
- "$ref": "#/definitions/ExportDataset"
- }
- },
- "required": [
- "type",
- "timeframe"
- ]
- },
- "ExportDataset": {
- "description": "The definition for data in the export.",
- "type": "object",
- "properties": {
- "granularity": {
- "description": "The granularity of rows in the export. Currently only 'Daily' is supported.",
- "type": "string",
- "enum": [
- "Daily"
- ],
- "x-ms-enum": {
- "name": "GranularityType",
- "modelAsString": true
- }
- },
- "configuration": {
- "description": "The export dataset configuration.",
- "$ref": "#/definitions/ExportDatasetConfiguration"
- }
- }
- },
- "ExportDatasetConfiguration": {
- "description": "The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns.",
- "type": "object",
- "properties": {
- "columns": {
- "description": "Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples).",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "ExportTimePeriod": {
- "description": "The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months.",
- "type": "object",
- "properties": {
- "from": {
- "description": "The start date for export data.",
- "type": "string",
- "format": "date-time"
- },
- "to": {
- "description": "The end date for export data.",
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "from",
- "to"
- ]
- },
- "ExportExecutionListResult": {
- "description": "Result of listing the execution history of an export.",
- "type": "object",
- "properties": {
- "value": {
- "description": "A list of export executions.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/ExportExecution"
- }
- }
- }
- },
- "ExportExecution": {
- "description": "An export execution.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ExportExecutionProperties",
- "title": "Export execution properties"
- }
- }
- },
- "ExportExecutionProperties": {
- "description": "The properties of the export execution.",
- "type": "object",
- "properties": {
- "executionType": {
- "description": "The type of the export execution.",
- "type": "string",
- "enum": [
- "OnDemand",
- "Scheduled"
- ],
- "x-ms-enum": {
- "name": "ExecutionType",
- "modelAsString": true
- }
- },
- "status": {
- "description": "The last known status of the export execution.",
- "type": "string",
- "enum": [
- "Queued",
- "InProgress",
- "Completed",
- "Failed",
- "Timeout",
- "NewDataNotAvailable",
- "DataNotAvailable"
- ],
- "x-ms-enum": {
- "name": "ExecutionStatus",
- "modelAsString": true
- }
- },
- "submittedBy": {
- "description": "The identifier for the entity that executed the export. For OnDemand executions it is the user email. For scheduled executions it is 'System'.",
- "type": "string"
- },
- "submittedTime": {
- "description": "The time when export was queued to be executed.",
- "type": "string",
- "format": "date-time"
- },
- "processingStartTime": {
- "description": "The time when export was picked up to be executed.",
- "type": "string",
- "format": "date-time"
- },
- "processingEndTime": {
- "description": "The time when the export execution finished.",
- "type": "string",
- "format": "date-time"
- },
- "fileName": {
- "description": "The name of the exported file.",
- "type": "string"
- },
- "runSettings": {
- "description": "The export settings that were in effect for this execution.",
- "$ref": "#/definitions/CommonExportProperties"
- },
- "error": {
- "description": "The details of any error.",
- "$ref": "#/definitions/ErrorDetails"
- }
- }
}
},
"parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2020-06-01."
+ },
"viewNameParameter": {
"name": "viewName",
"in": "path",
@@ -3184,13 +2493,6 @@
"x-ms-parameter-location": "method",
"x-ms-skip-url-encoding": true
},
- "apiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Version of the API to be used with the client request (e.g. '2020-06-01')."
- },
"subscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
@@ -3238,14 +2540,6 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "exportNameParameter": {
- "name": "exportName",
- "in": "path",
- "description": "Export Name.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"externalCloudProviderTypeParameter": {
"name": "externalCloudProviderType",
"in": "path",
diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..c684505db1d6
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,145 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-costmanagement-2020-06-01
+ - tag: schema-costmanagement-2020-03-01-preview
+ - tag: schema-costmanagement-2019-11-01
+ - tag: schema-costmanagement-2019-10-01
+ - tag: schema-costmanagement-2019-09-01
+ - tag: schema-costmanagement-2019-04-01-preview
+ - tag: schema-costmanagement-2019-03-01-preview
+ - tag: schema-costmanagement-2019-01-01
+ - tag: schema-costmanagement-2018-12-01-preview
+ - tag: schema-costmanagement-2018-08-01-preview
+ - tag: schema-costmanagement-2018-05-31
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-costmanagement-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
+
+```
+
+### Tag: schema-costmanagement-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+ - Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
+
+```
+
+### Tag: schema-costmanagement-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-05-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-05-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2018-05-31/costmanagement.json
+
+```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 85e079d2ccba..b8127660918f 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -33,6 +33,16 @@ azure-validator: false
---
+### Tag: package-preview-2020-03
+
+These settings apply only when `--tag=package-preview-2020-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-03'
+input-file:
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+ - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
+```
+
### Tag: package-2020-06
These settings apply only when `--tag=package-2020-06` is specified on the command line.
@@ -40,11 +50,10 @@ These settings apply only when `--tag=package-2020-06` is specified on the comma
```yaml $(tag) == 'package-2020-06'
input-file:
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
```
-=======
->>>>>>> Stashed changes
### Tag: package-2019-11
These settings apply only when `--tag=package-2019-11` is specified on the command line.
@@ -52,6 +61,7 @@ These settings apply only when `--tag=package-2019-11` is specified on the comma
``` yaml $(tag) == 'package-2019-11'
input-file:
- Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+ - Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
```
### Tag: package-2019-10
@@ -204,6 +214,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cost-management/resource-manager
```
## C#
@@ -327,35 +340,7 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+## AzureResourceSchema
-This block is updated by an automatic script. Edits may be lost!
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-``` 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.CostManagement/stable/2020-06-01/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/stable/2018-05-31/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
- - $(this-folder)/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.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/cpim/resource-manager/readme.azureresourceschema.md b/specification/cpim/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b627d4375146
--- /dev/null
+++ b/specification/cpim/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azureactivedirectory-2020-05-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
+
+```
diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md
index d9bdf7941d0a..acc5245c5750 100644
--- a/specification/cpim/resource-manager/readme.md
+++ b/specification/cpim/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cpim']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cpim/resource-manager
```
## Go
@@ -78,27 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/customer-insights/resource-manager/readme.azureresourceschema.md b/specification/customer-insights/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..856e894fb719
--- /dev/null
+++ b/specification/customer-insights/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customerinsights-2017-04-26
+ - tag: schema-customerinsights-2017-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customerinsights-2017-04-26 and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerinsights-2017-04-26' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json
+
+```
+
+### Tag: schema-customerinsights-2017-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerinsights-2017-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json
+
+```
diff --git a/specification/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md
index 7dae56441cff..c75b5444e49c 100644
--- a/specification/customer-insights/resource-manager/readme.md
+++ b/specification/customer-insights/resource-manager/readme.md
@@ -68,6 +68,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customer_insights']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customer-insights/resource-manager
```
@@ -140,28 +143,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json
- - $(this-folder)/Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..c4bfaba99a75
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customerlockbox-2018-02-28-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customerlockbox-2018-02-28-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerlockbox-2018-02-28-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
+
+```
diff --git a/specification/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md
index 0e67eb17a65c..0b8ea5704f95 100644
--- a/specification/customerlockbox/resource-manager/readme.md
+++ b/specification/customerlockbox/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customerlockbox']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customerlockbox/resource-manager
```
## Go
@@ -78,27 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/customproviders/resource-manager/readme.azureresourceschema.md b/specification/customproviders/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..cfe5cfcbb11e
--- /dev/null
+++ b/specification/customproviders/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customproviders-2018-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customproviders-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-customproviders-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
+
+```
diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md
index 27afdefab93c..0574110e0f4b 100644
--- a/specification/customproviders/resource-manager/readme.md
+++ b/specification/customproviders/resource-manager/readme.md
@@ -60,6 +60,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customproviders']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customproviders/resource-manager
```
## Go
@@ -90,29 +93,9 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md)
See configuration in [readme.trenton.md](./readme.trenton.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
-
-```
+## AzureResourceSchema
-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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## cli
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json
new file mode 100644
index 000000000000..93a9fd590650
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json
@@ -0,0 +1,4689 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-04-01",
+ "title": "DataBoxManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBox/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations.",
+ "operationId": "Operations_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The supported operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the subscription.",
+ "operationId": "Jobs_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsList": {
+ "$ref": "./examples/JobsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription, resource group and location.",
+ "operationId": "Service_ListAvailableSkusByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under Resource group.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusPost": {
+ "$ref": "./examples/AvailableSkusPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.",
+ "operationId": "Service_ValidateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validateAddress",
+ "in": "body",
+ "description": "Shipping address of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateAddress"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The valid and alternate addresses.",
+ "schema": {
+ "$ref": "#/definitions/AddressValidationOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "deprecated": true,
+ "x-ms-examples": {
+ "ValidateAddressPost": {
+ "$ref": "./examples/ValidateAddressPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under resource group.",
+ "operationId": "Service_ValidateInputsByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputsByResourceGroup": {
+ "$ref": "./examples/ValidateInputsByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under subscription.",
+ "operationId": "Service_ValidateInputs",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputs": {
+ "$ref": "./examples/ValidateInputs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs by resource group.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsListByResourceGroup": {
+ "$ref": "./examples/JobsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Gets information about the specified job.",
+ "operationId": "Jobs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on details parameter for job, which provides details on the job stages.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ },
+ "JobsGetCmk": {
+ "$ref": "./examples/JobsGetCmk.json"
+ },
+ "JobsGetExport": {
+ "$ref": "./examples/JobsGetExport.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.",
+ "operationId": "Jobs_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "jobResource",
+ "in": "body",
+ "description": "Job details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Job."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsCreate": {
+ "$ref": "./examples/JobsCreate.json"
+ },
+ "JobsCreateDevicePassword": {
+ "$ref": "./examples/JobsCreateDevicePassword.json"
+ },
+ "JobsCreateExport": {
+ "$ref": "./examples/JobsCreateExport.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Deletes a job.",
+ "operationId": "Jobs_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Just for swagger we are adding this status code."
+ },
+ "202": {
+ "description": "Accepted request for delete Job."
+ },
+ "204": {
+ "description": "Job deleted."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsDelete": {
+ "$ref": "./examples/JobsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Updates the properties of an existing job.",
+ "operationId": "Jobs_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.",
+ "type": "string"
+ },
+ {
+ "name": "jobResourceUpdateParameter",
+ "in": "body",
+ "description": "Job update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResourceUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for job updated."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsPatch": {
+ "$ref": "./examples/JobsPatch.json"
+ },
+ "JobsPatchCmk": {
+ "$ref": "./examples/JobsPatchCmk.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Book shipment pick up.",
+ "operationId": "Jobs_BookShipmentPickUp",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "shipmentPickUpRequest",
+ "in": "body",
+ "description": "Details of shipment pick up request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Booked shipment pick up successfully.",
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BookShipmentPickupPost": {
+ "$ref": "./examples/BookShipmentPickupPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "CancelJob.",
+ "operationId": "Jobs_Cancel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "cancellationReason",
+ "in": "body",
+ "description": "Reason for cancellation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancellationReason"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Job cancelled."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsCancelPost": {
+ "$ref": "./examples/JobsCancelPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "This method gets the unencrypted secrets related to the job.",
+ "operationId": "Jobs_ListCredentials",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of unencrypted credentials of the job.",
+ "schema": {
+ "$ref": "#/definitions/UnencryptedCredentialsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "JobsListCredentials": {
+ "$ref": "./examples/JobsListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Subscription level.",
+ "operationId": "Service_RegionConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfiguration": {
+ "$ref": "./examples/RegionConfiguration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Resource group level.",
+ "operationId": "Service_RegionConfigurationByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region at resource group level.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfigurationByResourceGroup": {
+ "$ref": "./examples/RegionConfigurationByResourceGroup.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccountCredentialDetails": {
+ "description": "Credential details of the account.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Name of the account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataAccountType": {
+ "description": "Type of the account.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountConnectionString": {
+ "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareCredentialDetails": {
+ "description": "Per share level unencrypted access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AdditionalErrorInfo": {
+ "type": "object",
+ "description": "Additional error info.",
+ "properties": {
+ "type": {
+ "description": "Additional error type.",
+ "type": "string"
+ },
+ "info": {
+ "description": "Additional error info.",
+ "type": "object"
+ }
+ }
+ },
+ "AddressValidationOutput": {
+ "description": "Output of the address validation api.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddressValidationProperties",
+ "description": "The address validation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AddressValidationProperties": {
+ "description": "The address validation output.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "validationStatus": {
+ "description": "The address validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Ambiguous"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddressValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Address provided is valid."
+ },
+ {
+ "value": "Invalid",
+ "description": "Address provided is invalid or not supported."
+ },
+ {
+ "value": "Ambiguous",
+ "description": "Address provided is ambiguous, please choose one of the alternate addresses returned."
+ }
+ ]
+ }
+ },
+ "alternateAddresses": {
+ "description": "List of alternate addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShippingAddress"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ApiError": {
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ApplianceNetworkConfiguration": {
+ "description": "The Network Adapter configuration of a DataBox.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the network.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "Mac Address.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArmBaseObject": {
+ "description": "Base class for all objects under resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AvailableSkuRequest": {
+ "description": "The filters for showing the available skus.",
+ "required": [
+ "transferType",
+ "country",
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuNames": {
+ "description": "Sku Names to filter for available skus",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AvailableSkusResult": {
+ "description": "The available skus operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available skus.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of skus.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureFileFilterDetails": {
+ "description": "Filter details to transfer Azure files",
+ "type": "object",
+ "properties": {
+ "filePrefixList": {
+ "description": "Prefix list of the Azure files to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "filePathList": {
+ "description": "List of full path of the files to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "fileShareList": {
+ "description": "List of file shares to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BlobFilterDetails": {
+ "description": "Filter details to transfer Azure Blobs",
+ "type": "object",
+ "properties": {
+ "blobPrefixList": {
+ "description": "Prefix list of the Azure blobs to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "blobPathList": {
+ "description": "List of full path of the blobs to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "containerList": {
+ "description": "List of blob containers to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CancellationReason": {
+ "description": "Reason for cancellation.",
+ "required": [
+ "reason"
+ ],
+ "type": "object",
+ "properties": {
+ "reason": {
+ "description": "Reason for cancellation.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "description": "Cloud error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Cloud error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Cloud error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Cloud error target.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Cloud error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudError"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Cloud error additional info.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalErrorInfo"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-external": true
+ },
+ "ContactDetails": {
+ "description": "Contact Details.",
+ "required": [
+ "contactName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactName": {
+ "description": "Contact name of the person.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Phone number of the contact person.",
+ "type": "string"
+ },
+ "phoneExtension": {
+ "description": "Phone extension number of the contact person.",
+ "type": "string"
+ },
+ "mobile": {
+ "description": "Mobile number of the contact person.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "List of Email-ids to be notified about job progress.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "notificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationPreference"
+ }
+ }
+ }
+ },
+ "CopyLogDetails": {
+ "description": "Details for log generated during copy.",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "copyLogDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "copyLogDetailsType"
+ },
+ "CopyProgress": {
+ "description": "Copy progress.",
+ "type": "object",
+ "properties": {
+ "storageAccountName": {
+ "description": "Name of the storage account. This will be empty for data account types other than storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "transferType": {
+ "description": "Transfer type of data",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "dataAccountType": {
+ "description": "Data Account Type.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountId": {
+ "description": "Id of the account where the data needs to be uploaded.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesProcessed": {
+ "format": "int64",
+ "description": "To indicate bytes transferred.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToProcess": {
+ "format": "int64",
+ "description": "Total amount of data to be processed by the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesProcessed": {
+ "format": "int64",
+ "description": "Number of files processed",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalFilesToProcess": {
+ "format": "int64",
+ "description": "Total files to process",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFilesProcessed": {
+ "format": "int64",
+ "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFileBytesUploaded": {
+ "format": "int64",
+ "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "renamedContainerCount": {
+ "format": "int64",
+ "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesErroredOut": {
+ "format": "int64",
+ "description": "Number of files which could not be copied",
+ "type": "integer",
+ "readOnly": true
+ },
+ "directoriesErroredOut": {
+ "format": "int64",
+ "description": "To indicate directories errored out in the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidDirectoriesProcessed": {
+ "format": "int64",
+ "description": "To indicate directories renamed",
+ "type": "integer",
+ "readOnly": true
+ },
+ "isEnumerationInProgress": {
+ "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "CreateJobValidations": {
+ "description": "It does all pre-job creation validations.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "JobCreationValidation"
+ },
+ "CreateOrderLimitForSubscriptionValidationRequest": {
+ "description": "Request to validate create order limit for current subscription.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "CreateOrderLimitForSubscriptionValidationResponseProperties": {
+ "description": "Properties of create order limit for subscription validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Create order limit validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "DataAccountDetails": {
+ "description": "Account details of the data to be transferred",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Account Type of the data to be transferred.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "sharePassword": {
+ "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "discriminator": "dataAccountType"
+ },
+ "DataBoxAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account of a DataBox job",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxDiskCopyLogDetails": {
+ "description": "Copy Log Details for a disk",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Disk Serial Number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorLogLink": {
+ "description": "Link for copy error logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "verboseLogLink": {
+ "description": "Link for copy verbose logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskCopyProgress": {
+ "description": "DataBox Disk Copy Progress",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "The serial number of the disk",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesCopied": {
+ "format": "int64",
+ "description": "Bytes copied during the copy of disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Indicates the percentage completed for the copy of the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The Status of the copy",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "CompletedWithErrors",
+ "Failed",
+ "NotReturned",
+ "HardwareError",
+ "DeviceFormatted",
+ "DeviceMetadataModified",
+ "StorageAccountNotAccessible",
+ "UnsupportedData"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CopyStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Data copy hasn't started yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Data copy is in progress."
+ },
+ {
+ "value": "Completed",
+ "description": "Data copy completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Data copy completed with errors."
+ },
+ {
+ "value": "Failed",
+ "description": "Data copy failed. No data was copied."
+ },
+ {
+ "value": "NotReturned",
+ "description": "No copy triggered as device was not returned."
+ },
+ {
+ "value": "HardwareError",
+ "description": "The Device has hit hardware issues."
+ },
+ {
+ "value": "DeviceFormatted",
+ "description": "Data copy failed. The Device was formatted by user."
+ },
+ {
+ "value": "DeviceMetadataModified",
+ "description": "Data copy failed. Device metadata was modified by user."
+ },
+ {
+ "value": "StorageAccountNotAccessible",
+ "description": "Data copy failed. Storage Account was not accessible during copy."
+ },
+ {
+ "value": "UnsupportedData",
+ "description": "Data copy failed. The Device data content is not supported."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DataBoxDiskJobDetails": {
+ "description": "DataBox Disk Job Details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "preferredDisks": {
+ "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "copyProgress": {
+ "description": "Copy progress per disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxDiskCopyProgress"
+ },
+ "readOnly": true
+ },
+ "disksAndSizeDetails": {
+ "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "passkey": {
+ "description": "User entered passkey for DataBox Disk job.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskJobSecrets": {
+ "description": "The secrets related to disk job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "diskSecrets": {
+ "description": "Contains the list of secrets object for that device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskSecret"
+ },
+ "readOnly": true
+ },
+ "passKey": {
+ "description": "PassKey for the disk Job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPasskeyUserDefined": {
+ "description": "Whether passkey was provided by user.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxHeavyAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account for Databox heavy",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobDetails": {
+ "description": "Databox Heavy Device Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobSecrets": {
+ "description": "The secrets related to a databox heavy job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "cabinetPodSecrets": {
+ "description": "Contains the list of secret objects for a databox heavy job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxHeavySecret"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavySecret": {
+ "description": "The secrets related to a databox heavy.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxJobDetails": {
+ "description": "Databox Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per storage account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataboxJobSecrets": {
+ "description": "The secrets related to a databox job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "podSecrets": {
+ "description": "Contains the list of secret objects for a job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxSecret"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling data box orders orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxSecret": {
+ "description": "The secrets related to a DataBox.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataExportDetails": {
+ "description": "Details of the data to be used for exporting data from azure.",
+ "required": [
+ "transferConfiguration",
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfiguration": {
+ "$ref": "#/definitions/TransferConfiguration",
+ "description": "Configuration for the data transfer."
+ },
+ "logCollectionLevel": {
+ "description": "Level of the logs to be collected.",
+ "enum": [
+ "Error",
+ "Verbose"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LogCollectionLevel",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Error",
+ "description": "Only Errors will be collected in the logs."
+ },
+ {
+ "value": "Verbose",
+ "description": "Verbose logging (includes Errors, CRC, size information and others)."
+ }
+ ]
+ }
+ },
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataImportDetails": {
+ "description": "Details of the data to be used for importing data to azure.",
+ "required": [
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataLocationToServiceLocationMap": {
+ "description": "Map of data location to service location",
+ "type": "object",
+ "properties": {
+ "dataLocation": {
+ "description": "Location of the data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceLocation": {
+ "description": "Location of the service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataTransferDetailsValidationRequest": {
+ "description": "Request to validate export and import data details.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "dataExportDetails": {
+ "description": "List of DataTransfer details to be used to export data from azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportDetails"
+ }
+ },
+ "dataImportDetails": {
+ "description": "List of DataTransfer details to be used to import data to azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataImportDetails"
+ }
+ },
+ "deviceType": {
+ "description": "Device type.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DataTransferDetailsValidationResponseProperties": {
+ "description": "Properties of data transfer details validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Data transfer details validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DcAccessSecurityCode": {
+ "description": "Dc access security code",
+ "type": "object",
+ "properties": {
+ "reverseDcAccessCode": {
+ "description": "Reverse Dc access security code.",
+ "type": "string"
+ },
+ "forwardDcAccessCode": {
+ "description": "Forward Dc access security code.",
+ "type": "string"
+ }
+ }
+ },
+ "Details": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "DiskScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling disk orders.",
+ "required": [
+ "storageLocation",
+ "skuName",
+ "expectedDataSizeInTerabytes"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DiskSecret": {
+ "description": "Contains all the secrets of a Disk.",
+ "type": "object",
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Serial number of the assigned disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bitLockerKey": {
+ "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorDetail": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Details"
+ }
+ },
+ "target": {
+ "type": "string"
+ }
+ }
+ },
+ "FilterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "required": [
+ "filterFileType",
+ "filterFilePath"
+ ],
+ "type": "object",
+ "properties": {
+ "filterFileType": {
+ "description": "Type of the filter file.",
+ "enum": [
+ "AzureBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FilterFileType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AzureBlob",
+ "description": "Filter file is of the type AzureBlob."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Filter file is of the type AzureFiles."
+ }
+ ]
+ }
+ },
+ "filterFilePath": {
+ "description": "Path of the file that contains the details of all items to transfer.",
+ "type": "string"
+ }
+ }
+ },
+ "HeavyScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling heavy orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "JobDeliveryInfo": {
+ "description": "Additional delivery info.",
+ "type": "object",
+ "properties": {
+ "scheduledDateTime": {
+ "format": "date-time",
+ "description": "Scheduled date time.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobStages": {
+ "description": "List of stages that run in the job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobStages"
+ },
+ "readOnly": true
+ },
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deliveryPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Delivery package shipping details.",
+ "readOnly": true
+ },
+ "returnPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Return package shipping details.",
+ "readOnly": true
+ },
+ "dataImportDetails": {
+ "description": "Details of the data to be imported into azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataImportDetails"
+ }
+ },
+ "dataExportDetails": {
+ "description": "Details of the data to be exported from azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportDetails"
+ }
+ },
+ "jobDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ },
+ "preferences": {
+ "$ref": "#/definitions/Preferences",
+ "description": "Preferences for the order."
+ },
+ "copyLogDetails": {
+ "description": "List of copy log details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyLogDetails"
+ },
+ "readOnly": true
+ },
+ "reverseShipmentLabelSasKey": {
+ "description": "Shared access key to download the return shipment label",
+ "type": "string",
+ "readOnly": true
+ },
+ "chainOfCustodySasKey": {
+ "description": "Shared access key to download the chain of custody logs",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyEncryptionKey",
+ "description": "Details about which key encryption type is being used.",
+ "readOnly": true
+ },
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "discriminator": "jobDetailsType"
+ },
+ "JobProperties": {
+ "description": "Job Properties",
+ "required": [
+ "transferType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the data transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "isCancellable": {
+ "description": "Describes whether the job is cancellable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isDeletable": {
+ "description": "Describes whether the job is deletable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isShippingAddressEditable": {
+ "description": "Describes whether the shipping address is editable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isPrepareToShipEnabled": {
+ "description": "Is Prepare To Ship Enabled on this job",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Name of the stage which is in progress.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Time at which the job was started in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Top level error for the job.",
+ "readOnly": true
+ },
+ "details": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "Details of a job run. This field will only be sent for expand details filter."
+ },
+ "cancellationReason": {
+ "description": "Reason for cancellation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryType": {
+ "description": "Delivery type of Job.",
+ "enum": [
+ "NonScheduled",
+ "Scheduled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobDeliveryType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NonScheduled",
+ "description": "Non Scheduled job."
+ },
+ {
+ "value": "Scheduled",
+ "description": "Scheduled job."
+ }
+ ]
+ }
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ }
+ },
+ "JobSecrets": {
+ "description": "The base class for the secrets",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobSecretsType": {
+ "description": "Used to indicate what type of job secrets object.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ },
+ "dcAccessSecurityCode": {
+ "$ref": "#/definitions/DcAccessSecurityCode",
+ "description": "Dc Access Security Code for Customer Managed Shipping",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Error while fetching the secrets.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "jobSecretsType"
+ },
+ "JobStages": {
+ "description": "Job stages.",
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the job stage.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the job stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stageStatus": {
+ "description": "Status of the job stage.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "SucceededWithErrors",
+ "WaitingForCustomerAction",
+ "SucceededWithWarnings"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status available yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Stage is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Stage has succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Stage has failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Stage has been cancelled."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Stage is cancelling."
+ },
+ {
+ "value": "SucceededWithErrors",
+ "description": "Stage has succeeded with errors."
+ },
+ {
+ "value": "WaitingForCustomerAction",
+ "description": "Stage is stuck until customer takes some action."
+ },
+ {
+ "value": "SucceededWithWarnings",
+ "description": "Stage has succeeded with warnings."
+ }
+ ]
+ }
+ },
+ "stageTime": {
+ "format": "date-time",
+ "description": "Time for the job stage in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobStageDetails": {
+ "description": "Job Stage Details",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "KeyEncryptionKey": {
+ "description": "Encryption key containing details about key to encrypt different keys.",
+ "required": [
+ "kekType"
+ ],
+ "type": "object",
+ "properties": {
+ "kekType": {
+ "description": "Type of encryption key used for key encryption.",
+ "enum": [
+ "MicrosoftManaged",
+ "CustomerManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KekType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "MicrosoftManaged",
+ "description": "Key encryption key is managed by Microsoft."
+ },
+ {
+ "value": "CustomerManaged",
+ "description": "Key encryption key is managed by the Customer."
+ }
+ ]
+ }
+ },
+ "kekUrl": {
+ "description": "Key encryption key. It is required in case of Customer managed KekType.",
+ "type": "string"
+ },
+ "kekVaultResourceID": {
+ "description": "Kek vault resource id. It is required in case of Customer managed KekType.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedDiskDetails": {
+ "description": "Details of the managed disks.",
+ "required": [
+ "resourceGroupId",
+ "stagingStorageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Resource Group Id of the compute disks.",
+ "type": "string"
+ },
+ "stagingStorageAccountId": {
+ "description": "Resource Id of the storage account that can be used to copy the vhd for staging.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManagedDisk"
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DevicePrepared",
+ "description": "Notification at device prepared stage."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Notification at device dispatched stage."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at device delivered stage."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Notification at device picked up from user stage."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Notification at device received at Azure datacenter stage."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Notification at data copy started stage."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized name of the operation for display purpose.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized description of the operation for display purpose.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Operation Collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "PackageShippingDetails": {
+ "description": "Shipping details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "Tracking Id of shipment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "Url where shipment can be tracked.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "preferredDataCenterRegion": {
+ "description": "Preferred data center region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ }
+ },
+ "PreferencesValidationRequest": {
+ "description": "Request to validate preference of transport and data center.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "preference": {
+ "description": "Preference of transport and data center.",
+ "$ref": "#/definitions/Preferences"
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "PreferencesValidationResponseProperties": {
+ "description": "Properties of data center and transport preference validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of requested data center and transport.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "RegionConfigurationRequest": {
+ "description": "Request body to get the configuration for the region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityRequest": {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest",
+ "description": "Request body to get the availability for scheduling orders."
+ },
+ "transportAvailabilityRequest": {
+ "$ref": "#/definitions/TransportAvailabilityRequest",
+ "description": "Request body to get the transport availability for given sku."
+ }
+ }
+ },
+ "RegionConfigurationResponse": {
+ "description": "Configuration response specific to a region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityResponse": {
+ "$ref": "#/definitions/ScheduleAvailabilityResponse",
+ "description": "Schedule availability for given sku in a region.",
+ "readOnly": true
+ },
+ "transportAvailabilityResponse": {
+ "$ref": "#/definitions/TransportAvailabilityResponse",
+ "description": "Transport options available for given sku in a region.",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Model of the Resource.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku type."
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "type": "string"
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "properties": {
+ "storageLocation": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuName": {
+ "description": "Sku Name for which the order is to be scheduled.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "Country in which storage location should be supported.",
+ "type": "string"
+ }
+ },
+ "discriminator": "skuName"
+ },
+ "ScheduleAvailabilityResponse": {
+ "description": "Schedule availability for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "availableDates": {
+ "description": "List of dates available to schedule",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShareCredentialDetails": {
+ "description": "Credential details of the shares in account.",
+ "type": "object",
+ "properties": {
+ "shareName": {
+ "description": "Name of the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareType": {
+ "description": "Type of the share.",
+ "enum": [
+ "UnknownType",
+ "HCS",
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ShareDestinationFormatType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "UnknownType",
+ "description": "Unknown format."
+ },
+ {
+ "value": "HCS",
+ "description": "Storsimple data format."
+ },
+ {
+ "value": "BlockBlob",
+ "description": "Azure storage block blob format."
+ },
+ {
+ "value": "PageBlob",
+ "description": "Azure storage page blob format."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Azure storage file format."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Compute Disk."
+ }
+ ]
+ }
+ },
+ "userName": {
+ "description": "User name for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "password": {
+ "description": "Password for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedAccessProtocols": {
+ "description": "Access protocols supported on the device.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessProtocol",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "SMB",
+ "description": "Server Message Block protocol(SMB)."
+ },
+ {
+ "value": "NFS",
+ "description": "Network File System protocol(NFS)."
+ }
+ ]
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShipmentPickUpRequest": {
+ "description": "Shipment pick up request details.",
+ "required": [
+ "startTime",
+ "endTime",
+ "shipmentLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "shipmentLocation": {
+ "description": "Shipment Location in the pickup place. Eg.front desk",
+ "type": "string"
+ }
+ }
+ },
+ "ShipmentPickUpResponse": {
+ "description": "Shipment pick up response.",
+ "type": "object",
+ "properties": {
+ "confirmationNumber": {
+ "description": "Confirmation number for the pick up request.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readyByTime": {
+ "format": "date-time",
+ "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShippingAddress": {
+ "description": "Shipping address where customer wishes to receive the device.",
+ "required": [
+ "streetAddress1",
+ "country",
+ "postalCode"
+ ],
+ "type": "object",
+ "properties": {
+ "streetAddress1": {
+ "description": "Street Address line 1.",
+ "type": "string"
+ },
+ "streetAddress2": {
+ "description": "Street Address line 2.",
+ "type": "string"
+ },
+ "streetAddress3": {
+ "description": "Street Address line 3.",
+ "type": "string"
+ },
+ "city": {
+ "description": "Name of the City.",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "Name of the State or Province.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Name of the Country.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "Postal code.",
+ "type": "string"
+ },
+ "zipExtendedCode": {
+ "description": "Extended Zip Code.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Name of the company.",
+ "type": "string"
+ },
+ "addressType": {
+ "description": "Type of address.",
+ "enum": [
+ "None",
+ "Residential",
+ "Commercial"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddressType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "The display name of the sku.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string"
+ }
+ }
+ },
+ "SkuAvailabilityValidationRequest": {
+ "description": "Request to validate sku availability.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "country",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuAvailabilityValidationResponseProperties": {
+ "description": "Properties of sku availability validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Sku availability validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuCapacity": {
+ "description": "Capacity of the sku.",
+ "type": "object",
+ "properties": {
+ "usable": {
+ "description": "Usable capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maximum": {
+ "description": "Maximum capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "Describes metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Meter id of the Sku.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterType": {
+ "description": "The type of the meter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiplier": {
+ "format": "double",
+ "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Information of the sku.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The Sku.",
+ "readOnly": true
+ },
+ "enabled": {
+ "description": "The sku is enabled or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/SkuProperties",
+ "description": "Properties of the sku.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SkuProperties": {
+ "description": "Properties of the sku.",
+ "type": "object",
+ "properties": {
+ "dataLocationToServiceLocationMap": {
+ "description": "The map of data location to service location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataLocationToServiceLocationMap"
+ },
+ "readOnly": true
+ },
+ "capacity": {
+ "$ref": "#/definitions/SkuCapacity",
+ "description": "Capacity of the Sku.",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "Cost of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "Api versions that support this Sku.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "disabledReason": {
+ "description": "Reason why the Sku is disabled.",
+ "enum": [
+ "None",
+ "Country",
+ "Region",
+ "Feature",
+ "OfferType",
+ "NoSubscriptionInfo"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuDisabledReason",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "SKU is not disabled."
+ },
+ {
+ "value": "Country",
+ "description": "SKU is not available in the requested country."
+ },
+ {
+ "value": "Region",
+ "description": "SKU is not available to push data to the requested Azure region."
+ },
+ {
+ "value": "Feature",
+ "description": "Required features are not enabled for the SKU."
+ },
+ {
+ "value": "OfferType",
+ "description": "Subscription does not have required offer types for the SKU."
+ },
+ {
+ "value": "NoSubscriptionInfo",
+ "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification."
+ }
+ ]
+ }
+ },
+ "disabledReasonMessage": {
+ "description": "Message for why the Sku is disabled.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredFeature": {
+ "description": "Required feature to access the sku.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountDetails": {
+ "description": "Details for the storage account.",
+ "required": [
+ "storageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "storageAccountId": {
+ "description": "Storage Account Resource Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "StorageAccount"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationRequest": {
+ "description": "Request to validate subscription permission to create jobs.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationResponseProperties": {
+ "description": "Properties of subscription permission to create job validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of subscription permission to create job.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "TransferAllDetails": {
+ "description": "Details to transfer all data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "transferAllBlobs": {
+ "description": "To indicate if all Azure blobs have to be transferred",
+ "type": "boolean"
+ },
+ "transferAllFiles": {
+ "description": "To indicate if all Azure Files have to be transferred",
+ "type": "boolean"
+ }
+ }
+ },
+ "TransferConfiguration": {
+ "description": "Configuration for defining the transfer of data.",
+ "required": [
+ "transferConfigurationType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfigurationType": {
+ "description": "Type of the configuration for transfer.",
+ "enum": [
+ "TransferAll",
+ "TransferUsingFilter"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferConfigurationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "TransferAll",
+ "description": "Transfer all the data."
+ },
+ {
+ "value": "TransferUsingFilter",
+ "description": "Transfer using filter."
+ }
+ ]
+ }
+ },
+ "transferFilterDetails": {
+ "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details of the filtering the transfer of data.",
+ "$ref": "#/definitions/TransferFilterDetails"
+ }
+ }
+ },
+ "transferAllDetails": {
+ "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details to transfer all data.",
+ "$ref": "#/definitions/TransferAllDetails"
+ }
+ }
+ }
+ }
+ },
+ "TransferFilterDetails": {
+ "description": "Details of the filtering the transfer of data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "blobFilterDetails": {
+ "$ref": "#/definitions/BlobFilterDetails",
+ "description": "Filter details to transfer blobs."
+ },
+ "azureFileFilterDetails": {
+ "$ref": "#/definitions/AzureFileFilterDetails",
+ "description": "Filter details to transfer Azure files."
+ },
+ "filterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterFileDetails"
+ }
+ }
+ }
+ },
+ "TransportAvailabilityDetails": {
+ "description": "Transport options availability details for given region.",
+ "type": "object",
+ "properties": {
+ "shipmentType": {
+ "description": "Transport Shipment Type supported for given region.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityRequest": {
+ "description": "Request body to get the transport availability for given sku.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "Type of the device.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityResponse": {
+ "description": "Transport options available for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "transportAvailabilityDetails": {
+ "description": "List of transport availability details for given region",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransportAvailabilityDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TransportPreferences": {
+ "description": "Preferences related to the shipment logistics of the sku",
+ "required": [
+ "preferredShipmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "preferredShipmentType": {
+ "description": "Indicates Shipment Logistics type that the customer preferred.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "UnencryptedCredentials": {
+ "description": "Unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "Name of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobSecrets": {
+ "$ref": "#/definitions/JobSecrets",
+ "description": "Secrets related to this job.",
+ "readOnly": true
+ }
+ }
+ },
+ "UnencryptedCredentialsList": {
+ "description": "List of unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of unencrypted credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnencryptedCredentials"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of unencrypted credentials.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateJobDetails": {
+ "description": "Job details for update.",
+ "type": "object",
+ "properties": {
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyEncryptionKey",
+ "description": "Key encryption key for the job."
+ }
+ }
+ },
+ "UpdateJobProperties": {
+ "description": "Job Properties for update",
+ "type": "object",
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/UpdateJobDetails",
+ "description": "Details of a job to be updated."
+ }
+ }
+ },
+ "ValidateAddress": {
+ "description": "The requirements to validate customer address where the device needs to be shipped.",
+ "required": [
+ "shippingAddress",
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ValidationInputRequest": {
+ "description": "Minimum fields that must be present in any type of validation request.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation request.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability",
+ "ValidateDataTransferDetails"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ },
+ {
+ "value": "ValidateDataTransferDetails",
+ "description": "Identify request and response of data transfer details validation."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationInputResponse": {
+ "description": "Minimum properties that should be present in each individual validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation response.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability",
+ "ValidateDataTransferDetails"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ },
+ {
+ "value": "ValidateDataTransferDetails",
+ "description": "Identify request and response of data transfer details validation."
+ }
+ ]
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Error code and message of validation response.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationRequest": {
+ "description": "Minimum request requirement of any validation category.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "validationCategory": {
+ "description": "Identify the nature of validation.",
+ "enum": [
+ "JobCreationValidation"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationCategory",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "JobCreationValidation",
+ "description": "Identify request of pre-job creation validations."
+ }
+ ]
+ }
+ },
+ "individualRequestDetails": {
+ "description": "List of request details contain validationType and its request as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ }
+ },
+ "discriminator": "validationCategory"
+ },
+ "ValidationResponse": {
+ "description": "Response of pre job creation validations.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ValidationResponseProperties",
+ "description": "Properties of pre job creation validation response.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ValidationResponseProperties": {
+ "description": "Properties of pre job creation validation response.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Overall validation status.",
+ "enum": [
+ "AllValidToProceed",
+ "InputsRevisitRequired",
+ "CertainInputValidationsSkipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OverallValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AllValidToProceed",
+ "description": "Every input request is valid."
+ },
+ {
+ "value": "InputsRevisitRequired",
+ "description": "Some input requests are not valid."
+ },
+ {
+ "value": "CertainInputValidationsSkipped",
+ "description": "Certain input validations skipped."
+ }
+ ]
+ }
+ },
+ "individualResponseDetails": {
+ "description": "List of response details contain validationType and its response as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputResponse"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API Version",
+ "required": true,
+ "type": "string"
+ },
+ "jobNameParameter": {
+ "name": "jobName",
+ "in": "path",
+ "description": "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only",
+ "required": true,
+ "type": "string",
+ "maxLength": 24,
+ "minLength": 3,
+ "pattern": "^[-\\w\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Resource Group Name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Subscription Id",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..1f8c4f4c1af2
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "ce815189-a9cc-4288-8166-d78f211bed5a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "84"
+ ],
+ "availableSkuRequest": {
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "DataBox"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "80",
+ "maximum": "100"
+ },
+ "costs": [
+ {
+ "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042",
+ "meterType": "DataBoxServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "a701f058-119b-4713-a923-bed7da4b7801",
+ "meterType": "DataBoxShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed",
+ "meterType": "DataBoxExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057",
+ "meterType": "DataBoxLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "35",
+ "maximum": "40"
+ },
+ "costs": [
+ {
+ "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f",
+ "meterType": "DataBoxDiskServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e",
+ "meterType": "DataBoxDiskShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4",
+ "meterType": "DataBoxDiskDailyUsageFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e",
+ "meterType": "DataBoxDiskLostDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "800",
+ "maximum": "1000"
+ },
+ "costs": [
+ {
+ "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126",
+ "meterType": "DataBoxHeavyServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9",
+ "meterType": "DataBoxHeavyShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7",
+ "meterType": "DataBoxHeavyExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f",
+ "meterType": "DataBoxHeavyLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None",
+ "requiredFeature": "HeavyCreateAccess"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "e1437186-b41d-492e-9b7a-e197c28a517a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "118"
+ ],
+ "shipmentPickUpRequest": {
+ "startTime": "2019-09-20T18:30:00Z",
+ "endTime": "2019-09-22T18:30:00Z",
+ "shipmentLocation": "Front desk"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "confirmationNumber": "2929602E9CP",
+ "readyByTime": "2019-09-20T18:30:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..b0615f487570
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "95fc15f7-4976-46bb-8370-74ed4cb676be"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "30"
+ ],
+ "cancellationReason": {
+ "reason": "CancelTest"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..d4c85d99bfb2
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "04f2835f-a2a2-4f25-96df-568460e5be24"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1064"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json
new file mode 100644
index 000000000000..e0966d489b9f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7478",
+ "jobName": "SdkJob9640",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "c4c8f926-ebbe-4c07-ae1a-b716911058df"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1168"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "devicePassword": "Abcd223@22344",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "sharePassword": "Abcd223@22344Abcd223@22344"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob9640",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json
new file mode 100644
index 000000000000..9ed85155cd73
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1395"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..eb1ae2a45dec
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json
new file mode 100644
index 000000000000..ba27dbca634d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "e76214b0-6013-499e-8f91-3a287f421f2e"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:50:40.1872217+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json
new file mode 100644
index 000000000000..4ae6cb839525
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c8cf9d3e-55f1-488f-bcee-53f4939f44e8"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:47:42.0009935+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:47:44.8736499+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json
new file mode 100644
index 000000000000..2544b1682896
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "b3739c7c-02b6-46c2-a04c-da6f8bca279c"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "Cancelled",
+ "startTime": "2020-08-07T10:49:08.7195419+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "aaaaaa2",
+ "transferType": "ExportFromAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "bytesProcessed": 0,
+ "totalBytesToProcess": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:12.7675644+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:57.2572438+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": " ",
+ "emailList": [],
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "notificationPreference": []
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [],
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferFilterDetails": {},
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "logCollectionLevel": "Error",
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r",
+ "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json
new file mode 100644
index 000000000000..09068ac61e28
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json
@@ -0,0 +1,805 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "044127c5-663e-4a0f-9061-2fa0ca8058c4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T14:44:39.77401+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "mnaustest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-09-10T18:03:22.2578238+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "portalcontractAUS",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T15:17:17.3753642+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBB-diskAU",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T11:12:15.5972523+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "allXML",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-07T15:51:08.4479315+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "bothExportAllxml",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T19:44:59.2410723+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T18:31:05.3036028+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "importRegressnTest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-09T01:57:03.8985885+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBotthXMLAndAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-05T15:56:52.6983398+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testExportAllOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T17:45:25.464989+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testPayload",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T10:43:04.8775864+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "xmlOnlyOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-11-27T15:17:49.0760408+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testbadresourcegroup",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-04T09:08:49.9928621+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "andipodtest4jan",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-28T15:20:48.1058546+05:30",
+ "cancellationReason": "NoLongerNeeded null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "dbtest1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:51:18.2067875+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautam14-04-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-27T18:08:30.6622356+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestexport",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-21T20:41:02.3837388+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "DegautamTestExportOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-24T07:56:23.6839464+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:48:21.2260174+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamTestOrder14-04",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-12T12:19:19.8627264+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "export",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-05T19:50:20.9692355+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportTestResource",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:09:45.7080012+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportNew",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:13:02.5724966+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-20T13:39:28.1940929+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:14:59.6879599+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-21T23:43:34.513148+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "saranyagorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-07-04T14:01:50.9232807+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdeepak04-07",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-11T12:33:16.6231232+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdurga-heavy",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-04-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..f3697a29a111
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c1514209-a439-4bd1-b040-76d7539d2509"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-03T11:55:54.463792+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob5928",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..20101ff6dc09
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "cda11c92-529b-4b75-b56d-ff1a69ffeeba"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobName": "TJ-636646322037905056",
+ "jobSecrets": {
+ "podSecrets": [
+ {
+ "deviceSerialNumber": "testimolapod-3ecc44ce",
+ "devicePassword": "cT5nt8R;S%5",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataAccountType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..2f34b6fd3217
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "ff3829ca-bcb0-4737-b6e0-52af57f34bb7"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "584"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json
new file mode 100644
index 000000000000..899ea6b87097
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "fcab0fa9-7af8-47e0-b570-d703a48ee66b"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "358"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..175a10a5e8cd
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json
@@ -0,0 +1,212 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "b9453354-c675-40a8-99c0-8039818c85fd"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBox/locations/operationResults/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operation Results",
+ "operation": "List Operation Results",
+ "description": "List or get the Operation Results"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/cancel/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Cancel",
+ "description": "Cancels an order in progress."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Book Shipment Pick Up",
+ "description": "Allows to book a pick up for return shipments."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Orders",
+ "description": "List or get the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/delete",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Delete Orders",
+ "description": "Delete the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/write",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Create or Update Orders",
+ "description": "Create or update the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/listCredentials/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Credentials",
+ "description": "Lists the unencrypted credentials related to the order."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateInputs/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Inputs",
+ "operation": "Validate Inputs",
+ "description": "This method does all type of validations."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateAddress/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Address",
+ "operation": "Validate Address",
+ "description": "Validates the shipping address and provides alternate addresses if any."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Move Resource",
+ "description": "This method performs the resource move."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Validate Move Resource Request",
+ "description": "This method validates whether resource move is allowed or not."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "Availabe Skus",
+ "description": "This method returns the list of available skus."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/regionConfiguration/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Region Configuration",
+ "operation": "Region Configuration",
+ "description": "This method returns the configurations for the region."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "List Available Skus",
+ "description": "List or get the Available Skus"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/register/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Register Microsoft.Databox",
+ "description": "Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/unregister/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Un-Register Microsoft.Databox",
+ "description": "Un-Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/operations/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operations",
+ "operation": "List Operations",
+ "description": "List or get the Operations"
+ },
+ "properties": {},
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..fe90d5aba5cb
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json
new file mode 100644
index 000000000000..a1df996e1da1
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..76f2fa59a0bc
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "cfda3c52-b129-4568-aba7-e743edf747c2"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "351"
+ ],
+ "validateAddress": {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..820e8c21cdd4
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "129a0589-5017-4f35-a66c-8da38e04aae1"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1675"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataTransferDetails",
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure"
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox",
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ {
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ {
+ "validationType": "ValidateSkuAvailability",
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ },
+ {
+ "validationType": "ValidateCreateOrderLimit",
+ "deviceType": "DataBox"
+ },
+ {
+ "validationType": "ValidatePreferences",
+ "preference": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "status": "Valid",
+ "validationType": "ValidateDataTransferDetails",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSkuAvailability",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateCreateOrderLimit",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidatePreferences",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..5a551216c1e0
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json
@@ -0,0 +1,167 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg6861",
+ "location": "westus",
+ "api-version": "2020-04-01",
+ "x-ms-client-request-id": [
+ "85f045bb-7659-4a2f-bcf5-96723954afdf"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1675"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataTransferDetails",
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure"
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox",
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ {
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ {
+ "validationType": "ValidateSkuAvailability",
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ },
+ {
+ "validationType": "ValidateCreateOrderLimit",
+ "deviceType": "DataBox"
+ },
+ {
+ "validationType": "ValidatePreferences",
+ "preference": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "status": "Valid",
+ "validationType": "ValidateDataTransferDetails",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSkuAvailability",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateCreateOrderLimit",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidatePreferences",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json
new file mode 100644
index 000000000000..068771392d92
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json
@@ -0,0 +1,4785 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-11-01",
+ "title": "DataBoxManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBox/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations.",
+ "operationId": "Operations_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The supported operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the subscription.",
+ "operationId": "Jobs_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsList": {
+ "$ref": "./examples/JobsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription, resource group and location.",
+ "operationId": "Service_ListAvailableSkusByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under Resource group.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusPost": {
+ "$ref": "./examples/AvailableSkusPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.",
+ "operationId": "Service_ValidateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validateAddress",
+ "in": "body",
+ "description": "Shipping address of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateAddress"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The valid and alternate addresses.",
+ "schema": {
+ "$ref": "#/definitions/AddressValidationOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "deprecated": true,
+ "x-ms-examples": {
+ "ValidateAddressPost": {
+ "$ref": "./examples/ValidateAddressPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under resource group.",
+ "operationId": "Service_ValidateInputsByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputsByResourceGroup": {
+ "$ref": "./examples/ValidateInputsByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under subscription.",
+ "operationId": "Service_ValidateInputs",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputs": {
+ "$ref": "./examples/ValidateInputs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs by resource group.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsListByResourceGroup": {
+ "$ref": "./examples/JobsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Gets information about the specified job.",
+ "operationId": "Jobs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on details parameter for job, which provides details on the job stages.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ },
+ "JobsGetCmk": {
+ "$ref": "./examples/JobsGetCmk.json"
+ },
+ "JobsGetExport": {
+ "$ref": "./examples/JobsGetExport.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.",
+ "operationId": "Jobs_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "jobResource",
+ "in": "body",
+ "description": "Job details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Job."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsCreate": {
+ "$ref": "./examples/JobsCreate.json"
+ },
+ "JobsCreateDevicePassword": {
+ "$ref": "./examples/JobsCreateDevicePassword.json"
+ },
+ "JobsCreateExport": {
+ "$ref": "./examples/JobsCreateExport.json"
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "sharePassword": {
+ "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "discriminator": "dataAccountType"
+ },
+ "DataBoxAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account of a DataBox job",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxDiskCopyLogDetails": {
+ "description": "Copy Log Details for a disk",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Disk Serial Number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorLogLink": {
+ "description": "Link for copy error logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "verboseLogLink": {
+ "description": "Link for copy verbose logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskCopyProgress": {
+ "description": "DataBox Disk Copy Progress",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "The serial number of the disk",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesCopied": {
+ "format": "int64",
+ "description": "Bytes copied during the copy of disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Indicates the percentage completed for the copy of the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The Status of the copy",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "CompletedWithErrors",
+ "Failed",
+ "NotReturned",
+ "HardwareError",
+ "DeviceFormatted",
+ "DeviceMetadataModified",
+ "StorageAccountNotAccessible",
+ "UnsupportedData"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CopyStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Data copy hasn't started yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Data copy is in progress."
+ },
+ {
+ "value": "Completed",
+ "description": "Data copy completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Data copy completed with errors."
+ },
+ {
+ "value": "Failed",
+ "description": "Data copy failed. No data was copied."
+ },
+ {
+ "value": "NotReturned",
+ "description": "No copy triggered as device was not returned."
+ },
+ {
+ "value": "HardwareError",
+ "description": "The Device has hit hardware issues."
+ },
+ {
+ "value": "DeviceFormatted",
+ "description": "Data copy failed. The Device was formatted by user."
+ },
+ {
+ "value": "DeviceMetadataModified",
+ "description": "Data copy failed. Device metadata was modified by user."
+ },
+ {
+ "value": "StorageAccountNotAccessible",
+ "description": "Data copy failed. Storage Account was not accessible during copy."
+ },
+ {
+ "value": "UnsupportedData",
+ "description": "Data copy failed. The Device data content is not supported."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DataBoxDiskJobDetails": {
+ "description": "DataBox Disk Job Details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "preferredDisks": {
+ "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "copyProgress": {
+ "description": "Copy progress per disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxDiskCopyProgress"
+ },
+ "readOnly": true
+ },
+ "disksAndSizeDetails": {
+ "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "passkey": {
+ "description": "User entered passkey for DataBox Disk job.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskJobSecrets": {
+ "description": "The secrets related to disk job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "diskSecrets": {
+ "description": "Contains the list of secrets object for that device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskSecret"
+ },
+ "readOnly": true
+ },
+ "passKey": {
+ "description": "PassKey for the disk Job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPasskeyUserDefined": {
+ "description": "Whether passkey was provided by user.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxHeavyAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account for Databox heavy",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobDetails": {
+ "description": "Databox Heavy Device Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobSecrets": {
+ "description": "The secrets related to a databox heavy job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "cabinetPodSecrets": {
+ "description": "Contains the list of secret objects for a databox heavy job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxHeavySecret"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavySecret": {
+ "description": "The secrets related to a databox heavy.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxJobDetails": {
+ "description": "Databox Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per storage account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataboxJobSecrets": {
+ "description": "The secrets related to a databox job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "podSecrets": {
+ "description": "Contains the list of secret objects for a job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxSecret"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling data box orders orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxSecret": {
+ "description": "The secrets related to a DataBox.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataExportDetails": {
+ "description": "Details of the data to be used for exporting data from azure.",
+ "required": [
+ "transferConfiguration",
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfiguration": {
+ "$ref": "#/definitions/TransferConfiguration",
+ "description": "Configuration for the data transfer."
+ },
+ "logCollectionLevel": {
+ "description": "Level of the logs to be collected.",
+ "enum": [
+ "Error",
+ "Verbose"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LogCollectionLevel",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Error",
+ "description": "Only Errors will be collected in the logs."
+ },
+ {
+ "value": "Verbose",
+ "description": "Verbose logging (includes Errors, CRC, size information and others)."
+ }
+ ]
+ }
+ },
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataImportDetails": {
+ "description": "Details of the data to be used for importing data to azure.",
+ "required": [
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataLocationToServiceLocationMap": {
+ "description": "Map of data location to service location",
+ "type": "object",
+ "properties": {
+ "dataLocation": {
+ "description": "Location of the data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceLocation": {
+ "description": "Location of the service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataTransferDetailsValidationRequest": {
+ "description": "Request to validate export and import data details.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "dataExportDetails": {
+ "description": "List of DataTransfer details to be used to export data from azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportDetails"
+ }
+ },
+ "dataImportDetails": {
+ "description": "List of DataTransfer details to be used to import data to azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataImportDetails"
+ }
+ },
+ "deviceType": {
+ "description": "Device type.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DataTransferDetailsValidationResponseProperties": {
+ "description": "Properties of data transfer details validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Data transfer details validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DcAccessSecurityCode": {
+ "description": "Dc access security code",
+ "type": "object",
+ "properties": {
+ "reverseDcAccessCode": {
+ "description": "Reverse Dc access security code.",
+ "type": "string"
+ },
+ "forwardDcAccessCode": {
+ "description": "Forward Dc access security code.",
+ "type": "string"
+ }
+ }
+ },
+ "Details": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "DiskScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling disk orders.",
+ "required": [
+ "storageLocation",
+ "skuName",
+ "expectedDataSizeInTerabytes"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DiskSecret": {
+ "description": "Contains all the secrets of a Disk.",
+ "type": "object",
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Serial number of the assigned disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bitLockerKey": {
+ "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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.",
+ "readOnly": true
+ },
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "discriminator": "jobDetailsType"
+ },
+ "JobProperties": {
+ "description": "Job Properties",
+ "required": [
+ "transferType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the data transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "isCancellable": {
+ "description": "Describes whether the job is cancellable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isDeletable": {
+ "description": "Describes whether the job is deletable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isShippingAddressEditable": {
+ "description": "Describes whether the shipping address is editable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isPrepareToShipEnabled": {
+ "description": "Is Prepare To Ship Enabled on this job",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Name of the stage which is in progress.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Time at which the job was started in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Top level error for the job.",
+ "readOnly": true
+ },
+ "details": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "Details of a job run. This field will only be sent for expand details filter."
+ },
+ "cancellationReason": {
+ "description": "Reason for cancellation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryType": {
+ "description": "Delivery type of Job.",
+ "enum": [
+ "NonScheduled",
+ "Scheduled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobDeliveryType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NonScheduled",
+ "description": "Non Scheduled job."
+ },
+ {
+ "value": "Scheduled",
+ "description": "Scheduled job."
+ }
+ ]
+ }
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ }
+ },
+ "JobSecrets": {
+ "description": "The base class for the secrets",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobSecretsType": {
+ "description": "Used to indicate what type of job secrets object.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ },
+ "dcAccessSecurityCode": {
+ "$ref": "#/definitions/DcAccessSecurityCode",
+ "description": "Dc Access Security Code for Customer Managed Shipping",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Error while fetching the secrets.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "jobSecretsType"
+ },
+ "JobStages": {
+ "description": "Job stages.",
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the job stage.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the job stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stageStatus": {
+ "description": "Status of the job stage.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "SucceededWithErrors",
+ "WaitingForCustomerAction",
+ "SucceededWithWarnings"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status available yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Stage is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Stage has succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Stage has failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Stage has been cancelled."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Stage is cancelling."
+ },
+ {
+ "value": "SucceededWithErrors",
+ "description": "Stage has succeeded with errors."
+ },
+ {
+ "value": "WaitingForCustomerAction",
+ "description": "Stage is stuck until customer takes some action."
+ },
+ {
+ "value": "SucceededWithWarnings",
+ "description": "Stage has succeeded with warnings."
+ }
+ ]
+ }
+ },
+ "stageTime": {
+ "format": "date-time",
+ "description": "Time for the job stage in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobStageDetails": {
+ "description": "Job Stage Details",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "KeyEncryptionKey": {
+ "description": "Encryption key containing details about key to encrypt different keys.",
+ "required": [
+ "kekType"
+ ],
+ "type": "object",
+ "properties": {
+ "kekType": {
+ "description": "Type of encryption key used for key encryption.",
+ "enum": [
+ "MicrosoftManaged",
+ "CustomerManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KekType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "MicrosoftManaged",
+ "description": "Key encryption key is managed by Microsoft."
+ },
+ {
+ "value": "CustomerManaged",
+ "description": "Key encryption key is managed by the Customer."
+ }
+ ]
+ }
+ },
+ "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"
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DevicePrepared",
+ "description": "Notification at device prepared stage."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Notification at device dispatched stage."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at device delivered stage."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Notification at device picked up from user stage."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Notification at device received at Azure datacenter stage."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Notification at data copy started stage."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized name of the operation for display purpose.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized description of the operation for display purpose.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Operation Collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "PackageShippingDetails": {
+ "description": "Shipping details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "Tracking Id of shipment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "Url where shipment can be tracked.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "preferredDataCenterRegion": {
+ "description": "Preferred data center region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ },
+ "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"
+ },
+ "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",
+ "AzurePremiumFiles"
+ ],
+ "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."
+ },
+ {
+ "value": "AzurePremiumFiles",
+ "description": "Azure storage Premium Files format"
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "The display name of the sku.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string"
+ }
+ }
+ },
+ "SkuAvailabilityValidationRequest": {
+ "description": "Request to validate sku availability.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "country",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuAvailabilityValidationResponseProperties": {
+ "description": "Properties of sku availability validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Sku availability validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuCapacity": {
+ "description": "Capacity of the sku.",
+ "type": "object",
+ "properties": {
+ "usable": {
+ "description": "Usable capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maximum": {
+ "description": "Maximum capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "Describes metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Meter id of the Sku.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterType": {
+ "description": "The type of the meter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiplier": {
+ "format": "double",
+ "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Information of the sku.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The Sku.",
+ "readOnly": true
+ },
+ "enabled": {
+ "description": "The sku is enabled or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/SkuProperties",
+ "description": "Properties of the sku.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SkuProperties": {
+ "description": "Properties of the sku.",
+ "type": "object",
+ "properties": {
+ "dataLocationToServiceLocationMap": {
+ "description": "The map of data location to service location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataLocationToServiceLocationMap"
+ },
+ "readOnly": true
+ },
+ "capacity": {
+ "$ref": "#/definitions/SkuCapacity",
+ "description": "Capacity of the Sku.",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "Cost of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "Api versions that support this Sku.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "disabledReason": {
+ "description": "Reason why the Sku is disabled.",
+ "enum": [
+ "None",
+ "Country",
+ "Region",
+ "Feature",
+ "OfferType",
+ "NoSubscriptionInfo"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuDisabledReason",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "SKU is not disabled."
+ },
+ {
+ "value": "Country",
+ "description": "SKU is not available in the requested country."
+ },
+ {
+ "value": "Region",
+ "description": "SKU is not available to push data to the requested Azure region."
+ },
+ {
+ "value": "Feature",
+ "description": "Required features are not enabled for the SKU."
+ },
+ {
+ "value": "OfferType",
+ "description": "Subscription does not have required offer types for the SKU."
+ },
+ {
+ "value": "NoSubscriptionInfo",
+ "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification."
+ }
+ ]
+ }
+ },
+ "disabledReasonMessage": {
+ "description": "Message for why the Sku is disabled.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredFeature": {
+ "description": "Required feature to access the sku.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountDetails": {
+ "description": "Details for the storage account.",
+ "required": [
+ "storageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "storageAccountId": {
+ "description": "Storage Account Resource Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "StorageAccount"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationRequest": {
+ "description": "Request to validate subscription permission to create jobs.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationResponseProperties": {
+ "description": "Properties of subscription permission to create job validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of subscription permission to create job.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "TransferAllDetails": {
+ "description": "Details to transfer all data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "transferAllBlobs": {
+ "description": "To indicate if all Azure blobs have to be transferred",
+ "type": "boolean"
+ },
+ "transferAllFiles": {
+ "description": "To indicate if all Azure Files have to be transferred",
+ "type": "boolean"
+ }
+ }
+ },
+ "TransferConfiguration": {
+ "description": "Configuration for defining the transfer of data.",
+ "required": [
+ "transferConfigurationType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfigurationType": {
+ "description": "Type of the configuration for transfer.",
+ "enum": [
+ "TransferAll",
+ "TransferUsingFilter"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferConfigurationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "TransferAll",
+ "description": "Transfer all the data."
+ },
+ {
+ "value": "TransferUsingFilter",
+ "description": "Transfer using filter."
+ }
+ ]
+ }
+ },
+ "transferFilterDetails": {
+ "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details of the filtering the transfer of data.",
+ "$ref": "#/definitions/TransferFilterDetails"
+ }
+ }
+ },
+ "transferAllDetails": {
+ "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details to transfer all data.",
+ "$ref": "#/definitions/TransferAllDetails"
+ }
+ }
+ }
+ }
+ },
+ "TransferFilterDetails": {
+ "description": "Details of the filtering the transfer of data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "blobFilterDetails": {
+ "$ref": "#/definitions/BlobFilterDetails",
+ "description": "Filter details to transfer blobs."
+ },
+ "azureFileFilterDetails": {
+ "$ref": "#/definitions/AzureFileFilterDetails",
+ "description": "Filter details to transfer Azure files."
+ },
+ "filterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterFileDetails"
+ }
+ }
+ }
+ },
+ "TransportAvailabilityDetails": {
+ "description": "Transport options availability details for given region.",
+ "type": "object",
+ "properties": {
+ "shipmentType": {
+ "description": "Transport Shipment Type supported for given region.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityRequest": {
+ "description": "Request body to get the transport availability for given sku.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "Type of the device.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityResponse": {
+ "description": "Transport options available for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "transportAvailabilityDetails": {
+ "description": "List of transport availability details for given region",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransportAvailabilityDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TransportPreferences": {
+ "description": "Preferences related to the shipment logistics of the sku",
+ "required": [
+ "preferredShipmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "preferredShipmentType": {
+ "description": "Indicates Shipment Logistics type that the customer preferred.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "UnencryptedCredentials": {
+ "description": "Unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "Name of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobSecrets": {
+ "$ref": "#/definitions/JobSecrets",
+ "description": "Secrets related to this job.",
+ "readOnly": true
+ }
+ }
+ },
+ "UnencryptedCredentialsList": {
+ "description": "List of unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of unencrypted credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnencryptedCredentials"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of unencrypted credentials.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateJobDetails": {
+ "description": "Job details for update.",
+ "type": "object",
+ "properties": {
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyEncryptionKey",
+ "description": "Key encryption key for the job."
+ }
+ }
+ },
+ "UpdateJobProperties": {
+ "description": "Job Properties for update",
+ "type": "object",
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/UpdateJobDetails",
+ "description": "Details of a job to be updated."
+ }
+ }
+ },
+ "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/2020-11-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..b152fbd9b733
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/BookShipmentPickupPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "e1437186-b41d-492e-9b7a-e197c28a517a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "118"
+ ],
+ "shipmentPickUpRequest": {
+ "startTime": "2019-09-20T18:30:00Z",
+ "endTime": "2019-09-22T18:30:00Z",
+ "shipmentLocation": "Front desk"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "confirmationNumber": "2929602E9CP",
+ "readyByTime": "2019-09-20T18:30:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..9203b2b65bf0
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..00263e181498
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDevicePassword.json
new file mode 100644
index 000000000000..7328395015a5
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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": "Abcd223@22344",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "sharePassword": "Abcd223@22344Abcd223@22344"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob9640",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDoubleEncryption.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDoubleEncryption.json
new file mode 100644
index 000000000000..3710dbc740bf
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateExport.json
new file mode 100644
index 000000000000..4356fc39fd85
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsCreateWithUserAssignedIdentity.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateWithUserAssignedIdentity.json
new file mode 100644
index 000000000000..ccc4f82aff22
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..c408ddf7352f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGet.json
new file mode 100644
index 000000000000..c8dc2863f7df
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetCmk.json
new file mode 100644
index 000000000000..73882b877d1f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetExport.json
new file mode 100644
index 000000000000..f5a346dce6e3
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsList.json
new file mode 100644
index 000000000000..d64a4a51fe40
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..61e890cd477b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..620e05afbfd1
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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": "cT5nt8R;S%5",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataAccountType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..92febae7150b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchCmk.json
new file mode 100644
index 000000000000..1992899e8242
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/JobsPatchSystemAssignedToUserAssigned.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchSystemAssignedToUserAssigned.json
new file mode 100644
index 000000000000..c2d169ad6a82
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..f96f0598e269
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..ea1758e64f6b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfigurationByResourceGroup.json
new file mode 100644
index 000000000000..653dbcb9e19e
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..40a3f3c5037d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..cd8a27819782
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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/2020-11-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..c70a59c27ffe
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-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.azureresourceschema.md b/specification/databox/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..c4424d428592
--- /dev/null
+++ b/specification/databox/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databox-2020-11-01
+ - tag: schema-databox-2020-04-01
+ - tag: schema-databox-2019-09-01
+ - tag: schema-databox-2018-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databox-2020-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2020-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2020-11-01/databox.json
+
+```
+
+### Tag: schema-databox-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2020-04-01/databox.json
+
+```
+
+### Tag: schema-databox-2019-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2019-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2019-09-01/databox.json
+
+```
+
+### Tag: schema-databox-2018-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2018-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2018-01-01/databox.json
+
+```
diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md
index f284d008936f..36d7f11fa3d8 100644
--- a/specification/databox/resource-manager/readme.go.md
+++ b/specification/databox/resource-manager/readme.go.md
@@ -15,6 +15,8 @@ go:
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
+ - tag: package-2020-11
```
### Tag: package-2018-01 and go
@@ -33,4 +35,22 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace)
+```
+
+### Tag: package-2020-11 and go
+
+These settings apply only when `--tag=package-2020-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-11' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-11-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index cb252a0cfb96..88bd4002d480 100644
--- a/specification/databox/resource-manager/readme.md
+++ b/specification/databox/resource-manager/readme.md
@@ -26,7 +26,25 @@ These are the global settings for the DataBox API.
``` yaml
openapi-type: arm
-tag: package-2019-09
+tag: package-2020-11
+```
+
+### Tag: package-2020-11
+
+These settings apply only when `--tag=package-2020-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-11'
+input-file:
+- Microsoft.DataBox/stable/2020-11-01/databox.json
+```
+
+### Tag: package-2020-04
+
+These settings apply only when `--tag=package-2020-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04'
+input-file:
+- Microsoft.DataBox/stable/2020-04-01/databox.json
```
### Tag: package-2019-09
@@ -60,6 +78,8 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-databox
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-go
@@ -68,6 +88,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databox']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databox/resource-manager
```
## C#
@@ -118,6 +141,8 @@ java:
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
+ - tag: package-2020-11
```
### Tag: package-2018-01 and java
@@ -146,28 +171,33 @@ regenerate-manager: true
generate-interface: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+### Tag: package-2020-04 and java
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+These settings apply only when `--tag=package-2020-04-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
-This block is updated by an automatic script. Edits may be lost!
+``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2020_04-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01
+regenerate-manager: true
+generate-interface: true
+```
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
+### Tag: package-2020-11 and java
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.DataBox/stable/2019-09-01/databox.json
- - $(this-folder)/Microsoft.DataBox/stable/2018-01-01/databox.json
+These settings apply only when `--tag=package-2020-11-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+``` yaml $(tag) == 'package-2020-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2020_11-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_11_01
+regenerate-manager: true
+generate-interface: true
```
-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.
+## AzureResourceSchema
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index c58c21fa9f86..ebdc1a83087b 100644
--- a/specification/databox/resource-manager/readme.python.md
+++ b/specification/databox/resource-manager/readme.python.md
@@ -15,14 +15,61 @@ python:
title: DataBoxManagementClient
description: The DataBox Client.
clear-output-folder: true
+ no-namespace-folders: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2020-11
+ - tag: package-2020-04
+ - tag: package-2019-09
+ - tag: package-2018-01
+```
+
+### Tag: package-2020-11 and python
+
+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)
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox
+ namespace: azure.mgmt.databox.v2020_11_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Tag: package-2020-04 and python
+
+These settings apply only when `--tag=package-2020-04 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(python)
+python:
+ namespace: azure.mgmt.databox.v2020_04_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
+```
+
+### Tag: package-2019-09 and python
+
+These settings apply only when `--tag=package-2019-09 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(python)
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox
+ namespace: azure.mgmt.databox.v2019_09_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
```
+
+### Tag: package-2018-01 and python
+
+These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(python)
+python:
+ namespace: azure.mgmt.databox.v2018_01_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
+```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md
index 2720469a3277..fddb1784e32c 100644
--- a/specification/databox/resource-manager/readme.ruby.md
+++ b/specification/databox/resource-manager/readme.ruby.md
@@ -14,6 +14,8 @@ azure-arm: true
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
+ - tag: package-2020-11
```
### Tag: package-2018-01 and ruby
@@ -35,3 +37,23 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2020_04_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
+```
+
+### Tag: package-2020-11 and ruby
+
+These settings apply only when `--tag=package-2020-11 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-11' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2020_11_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/readme.azureresourceschema.md b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..12341995da0e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databoxedge-2020-05-01-preview
+ - tag: schema-databoxedge-2019-08-01
+ - tag: schema-databoxedge-2019-07-01
+ - tag: schema-databoxedge-2019-03-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databoxedge-2020-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2020-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
+
+```
diff --git a/specification/databoxedge/resource-manager/readme.csharp.md b/specification/databoxedge/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..b1bb3573a220
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.csharp.md
@@ -0,0 +1,35 @@
+# C# Compute
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for DataBoxEdge.
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+## Common C# settings
+
+## 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: 2
+ clear-output-folder: true
+```
+
+### Profile: hybrid_2020_09_01
+
+These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line.
+
+``` yaml $(csharp-profile)=='hybrid_2020_09_01'
+namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).DataBoxEdge
+output-folder: $(csharp-sdks-folder)/$(csharp-profile)/DataBoxEdge/Management.DataBoxEdge/Generated
+
+batch:
+ - tag: profile-hybrid-2020-09-01
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/readme.java.md b/specification/databoxedge/resource-manager/readme.java.md
new file mode 100644
index 000000000000..d3c928f81c4e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.java.md
@@ -0,0 +1,75 @@
+## 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.databoxedge
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 0
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-05-preview
+ - tag: package-2019-08
+ - tag: package-2019-07
+ - tag: package-2019-03
+```
+
+### Tag: package-2020-05-preview and java
+
+These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/v2020_05_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-08 and java
+
+These settings apply only when `--tag=package-2019-08 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_08_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-07 and java
+
+These settings apply only when `--tag=package-2019-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-03 and java
+
+These settings apply only when `--tag=package-2019-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2019_03_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_03_01
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index 525e9e046a23..7c5fc55e4b88 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -64,6 +64,16 @@ These settings apply only when `--tag=package-2019-03` is specified on the comma
input-file:
- Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
```
+
+### Tag: profile-hybrid-2020-09-01
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01'
+input-file:
+- Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
+```
+
---
# Code Generation
@@ -86,6 +96,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databoxedge/resource-manager
```
## C#
@@ -117,104 +130,9 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-java:
- azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.management.databoxedge
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 0
- output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2019-03
- - tag: package-2019-07
- - tag: package-2019-08
- - tag: package-2020-05-preview
-```
-
-### Tag: package-2020-05-preview and java
-
-These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
+See configuration in [readme.java.md](./readme.java.md)
-``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview
- output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2020_05_01_preview
-regenerate-manager: true
-generate-interface: true
-```
+## AzureResourceSchema
-### Tag: package-2019-08 and java
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-These settings apply only when `--tag=package-2019-08 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databoxedge.v2019_08_01
- output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2019_08_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-07 and java
-
-These settings apply only when `--tag=package-2019-07 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databoxedge.v2019_07_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_07_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-03 and java
-
-These settings apply only when `--tag=package-2019-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databoxedge.v2019_03_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_03_01
-regenerate-manager: true
-generate-interface: true
-```
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
- - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
- - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
- - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
-
-```
-
-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/databricks/resource-manager/readme.azureresourceschema.md b/specification/databricks/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d05e235cbedf
--- /dev/null
+++ b/specification/databricks/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databricks-2018-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databricks-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databricks-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Databricks/stable/2018-04-01/databricks.json
+
+```
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 2b393ef2e23a..738868fe3b76 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -61,6 +61,18 @@ input-file:
- Microsoft.Databricks/stable/2018-04-01/databricks.json
```
+---
+# Suppressions
+
+``` yaml
+directive:
+ - suppress: R3016
+ from: databricks.json
+ where: $.definitions.Encryption.properties.KeyName
+ reason: Response from service is not camel case
+```
+
+---
# Code Generation
## Swagger to SDK
@@ -74,6 +86,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databricks/resource-manager
```
## Go
@@ -83,27 +98,7 @@ See configuration in [readme.go.md](./readme.go.md)
## Python
See configuration in [readme.python.md](./readme.python.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
+## AzureResourceSchema
-``` 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.Databricks/stable/2018-04-01/databricks.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datacatalog/resource-manager/readme.azureresourceschema.md b/specification/datacatalog/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7c377f7a6300
--- /dev/null
+++ b/specification/datacatalog/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datacatalog-2016-03-30
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datacatalog-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datacatalog-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json
+
+```
diff --git a/specification/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md
index 02f87406e5e8..8a2adf1fe7df 100644
--- a/specification/datacatalog/resource-manager/readme.md
+++ b/specification/datacatalog/resource-manager/readme.md
@@ -54,6 +54,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datacatalog/resource-manager
```
## C#
@@ -134,27 +137,7 @@ generate-interface: true
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
-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.DataCatalog/stable/2016-03-30/datacatalog.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
new file mode 100644
index 000000000000..08c44ae921da
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
@@ -0,0 +1,1795 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Datadog",
+ "version": "2020-02-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listApiKeys": {
+ "post": {
+ "tags": [
+ "ApiKey"
+ ],
+ "summary": "List the api keys for a given monitor resource.",
+ "operationId": "ApiKeys_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogApiKeyListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ApiKeys_List": {
+ "$ref": "./examples/ApiKeys_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/getDefaultKey": {
+ "post": {
+ "tags": [
+ "ApiKey"
+ ],
+ "summary": "Get the default api key.",
+ "operationId": "ApiKeys_GetDefaultKey",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogApiKey"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApiKeys_GetDefaultKey": {
+ "$ref": "./examples/ApiKeys_GetDefaultKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/setDefaultKey": {
+ "post": {
+ "tags": [
+ "ApiKey"
+ ],
+ "summary": "Set the default api key.",
+ "operationId": "ApiKeys_SetDefaultKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DatadogApiKey"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApiKeys_SetDefaultKey": {
+ "$ref": "./examples/ApiKeys_SetDefaultKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listHosts": {
+ "post": {
+ "tags": [
+ "Hosts"
+ ],
+ "summary": "List the hosts for a given monitor resource.",
+ "operationId": "Hosts_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogHostListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Hosts_List": {
+ "$ref": "./examples/Hosts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listLinkedResources": {
+ "post": {
+ "tags": [
+ "LinkedResources"
+ ],
+ "summary": "List all Azure resources associated to the same Datadog organization as the target resource.",
+ "operationId": "LinkedResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LinkedResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "LinkedResources_List": {
+ "$ref": "./examples/LinkedResources_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listMonitoredResources": {
+ "post": {
+ "tags": [
+ "MonitoredResources"
+ ],
+ "summary": "List the resources currently being monitored by the Datadog monitor resource.",
+ "operationId": "MonitoredResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "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"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Datadog/operations": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all operations provided by Microsoft.Datadog for the 2020-02-01-preview api version.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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.Datadog/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified subscription.",
+ "operationId": "Monitors_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResourceListResponse"
+ }
+ },
+ "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.Datadog/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified resource group.",
+ "operationId": "Monitors_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResourceListResponse"
+ }
+ },
+ "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.Datadog/monitors/{monitorName}": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Get the properties of a specific monitor resource.",
+ "operationId": "Monitors_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
+ "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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
+ "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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResourceUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
+ "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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "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.Datadog/monitors/{monitorName}/refreshSetPasswordLink": {
+ "post": {
+ "tags": [
+ "RefreshSetPasswordLink"
+ ],
+ "summary": "Refresh the set password link and return a latest one.",
+ "operationId": "RefreshSetPassword_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogSetPasswordLink"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RefreshSetPassword_Get": {
+ "$ref": "./examples/RefreshSetPassword_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "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.Datadog/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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "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/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations": {
+ "get": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "List the single sign-on configurations for a given monitor resource.",
+ "operationId": "SingleSignOnConfigurations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogSingleSignOnResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_List": {
+ "$ref": "./examples/SingleSignOnConfigurations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}": {
+ "put": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "Configures single-sign-on for this resource.",
+ "operationId": "SingleSignOnConfigurations_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "configurationName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DatadogSingleSignOnResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogSingleSignOnResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogSingleSignOnResource"
+ }
+ },
+ "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": {
+ "SingleSignOnConfigurations_CreateOrUpdate": {
+ "$ref": "./examples/SingleSignOnConfigurations_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "Gets the datadog single sign-on resource for the given Monitor.",
+ "operationId": "SingleSignOnConfigurations_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "configurationName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogSingleSignOnResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_Get": {
+ "$ref": "./examples/SingleSignOnConfigurations_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatadogApiKey": {
+ "required": [
+ "key"
+ ],
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "The user that created the API key.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the API key.",
+ "type": "string"
+ },
+ "key": {
+ "description": "The value of the API key.",
+ "type": "string"
+ },
+ "created": {
+ "description": "The time of creation of the API key.",
+ "type": "string"
+ }
+ }
+ },
+ "DatadogApiKeyListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatadogApiKey"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponseBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ }
+ },
+ "ResourceProviderDefaultErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "DatadogInstallMethod": {
+ "type": "object",
+ "properties": {
+ "tool": {
+ "description": "The tool.",
+ "type": "string"
+ },
+ "toolVersion": {
+ "description": "The tool version.",
+ "type": "string"
+ },
+ "installerVersion": {
+ "description": "The installer version.",
+ "type": "string"
+ }
+ }
+ },
+ "DatadogLogsAgent": {
+ "type": "object",
+ "properties": {
+ "transport": {
+ "description": "The transport.",
+ "type": "string"
+ }
+ }
+ },
+ "DatadogHostMetadata": {
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "installMethod": {
+ "$ref": "#/definitions/DatadogInstallMethod"
+ },
+ "logsAgent": {
+ "$ref": "#/definitions/DatadogLogsAgent"
+ }
+ }
+ },
+ "DatadogHost": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the host.",
+ "type": "string"
+ },
+ "aliases": {
+ "description": "The aliases for the host.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "apps": {
+ "description": "The Datadog integrations reporting metrics for the host.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "meta": {
+ "$ref": "#/definitions/DatadogHostMetadata"
+ }
+ }
+ },
+ "DatadogHostListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatadogHost"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "LinkedResource": {
+ "description": "The definition of a linked resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM id of the linked resource.",
+ "type": "string"
+ }
+ }
+ },
+ "LinkedResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LinkedResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "MonitoredResource": {
+ "description": "The properties of a resource currently being monitored by the Datadog monitor resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string"
+ },
+ "sendingMetrics": {
+ "description": "Flag indicating if resource is sending metrics to Datadog.",
+ "type": "boolean"
+ },
+ "reasonForMetricsStatus": {
+ "description": "Reason for why the resource is sending metrics (or why it is not sending).",
+ "type": "string"
+ },
+ "sendingLogs": {
+ "description": "Flag indicating if resource is sending logs to Datadog.",
+ "type": "boolean"
+ },
+ "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"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider, i.e., Microsoft.Datadog.",
+ "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.Datadog REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name, i.e., {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list the Microsoft.Datadog operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Datadog 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": {
+ "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",
+ "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"
+ }
+ },
+ "MarketplaceSubscriptionStatus": {
+ "description": "Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.",
+ "enum": [
+ "Active",
+ "Suspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "MarketplaceSubscriptionStatus"
+ }
+ },
+ "DatadogOrganizationProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Datadog organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the Datadog organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkingAuthCode": {
+ "description": "The auth code used to linking to an existing datadog organization.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "linkingClientId": {
+ "description": "The client_id from an existing in exchange for an auth token to link organization.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "enterpriseAppId": {
+ "description": "The Id of the Enterprise App used for Single sign on.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ }
+ },
+ "UserInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email of the user used by Datadog for contacting them if needed",
+ "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ },
+ "phoneNumber": {
+ "description": "Phone number of the user used by Datadog for contacting them if needed",
+ "maxLength": 40,
+ "type": "string"
+ }
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "monitoringStatus": {
+ "$ref": "#/definitions/MonitoringStatus"
+ },
+ "marketplaceSubscriptionStatus": {
+ "$ref": "#/definitions/MarketplaceSubscriptionStatus"
+ },
+ "datadogOrganizationProperties": {
+ "$ref": "#/definitions/DatadogOrganizationProperties"
+ },
+ "userInfo": {
+ "$ref": "#/definitions/UserInfo"
+ },
+ "liftrResourceCategory": {
+ "$ref": "#/definitions/LiftrResourceCategories"
+ },
+ "liftrResourcePreference": {
+ "description": "The priority of the resource.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedIdentityTypes": {
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ManagedIdentityTypes"
+ }
+ },
+ "IdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The identity ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "$ref": "#/definitions/ManagedIdentityTypes"
+ }
+ }
+ },
+ "DatadogMonitorResource": {
+ "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": {
+ "$ref": "#/definitions/ResourceSku"
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitorProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "type": "string"
+ }
+ }
+ },
+ "DatadogMonitorResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "MonitorUpdateProperties": {
+ "description": "The set of properties that can be update in a PATCH request to a monitor resource.",
+ "type": "object",
+ "properties": {
+ "monitoringStatus": {
+ "$ref": "#/definitions/MonitoringStatus"
+ }
+ }
+ },
+ "DatadogMonitorResourceUpdateParameters": {
+ "description": "The parameters for a PATCH request to a monitor resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MonitorUpdateProperties"
+ },
+ "tags": {
+ "description": "The new tags of the monitor resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatadogSetPasswordLink": {
+ "type": "object",
+ "properties": {
+ "setPasswordLink": {
+ "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": {
+ "$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 Azure subscription logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendResourceLogs": {
+ "description": "Flag specifying if Azure resource logs 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 SendResourceLogs 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"
+ }
+ }
+ }
+ },
+ "MetricRules": {
+ "description": "Set of rules for sending metrics for the Monitor resource.",
+ "type": "object",
+ "properties": {
+ "filteringTags": {
+ "description": "List of filtering tags to be used for capturing metrics. 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": {
+ "logRules": {
+ "$ref": "#/definitions/LogRules"
+ },
+ "metricRules": {
+ "$ref": "#/definitions/MetricRules"
+ }
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/MonitoringTagRulesProperties"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "SingleSignOnStates": {
+ "description": "Various states of the SSO resource",
+ "enum": [
+ "Initial",
+ "Enable",
+ "Disable",
+ "Existing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SingleSignOnStates"
+ }
+ },
+ "DatadogSingleSignOnProperties": {
+ "type": "object",
+ "properties": {
+ "singleSignOnState": {
+ "$ref": "#/definitions/SingleSignOnStates"
+ },
+ "enterpriseAppId": {
+ "description": "The Id of the Enterprise App used for Single sign-on.",
+ "type": "string"
+ },
+ "singleSignOnUrl": {
+ "description": "The login URL specific to this Datadog Organization.",
+ "type": "string"
+ }
+ }
+ },
+ "DatadogSingleSignOnResource": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the configuration.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/DatadogSingleSignOnProperties"
+ }
+ }
+ },
+ "DatadogSingleSignOnResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatadogSingleSignOnResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the Datadog 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"
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json
new file mode 100644
index 000000000000..c04777396993
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "createdBy": "john@example.com",
+ "name": "",
+ "key": "1111111111111111aaaaaaaaaaaaaaaa",
+ "created": "2019-04-05 09:20:30"
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json
new file mode 100644
index 000000000000..6abefd6ef88f
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "createdBy": "john@example.com",
+ "name": "",
+ "key": "1111111111111111aaaaaaaaaaaaaaaa",
+ "created": "2019-04-05 09:20:30"
+ },
+ {
+ "createdBy": "jane@example.com",
+ "name": "",
+ "key": "2111111111111111aaaaaaaaaaaaaaaa",
+ "created": "2019-04-05 09:19:53"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json
new file mode 100644
index 000000000000..9ffba226528e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "key": "1111111111111111aaaaaaaaaaaaaaaa"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json
new file mode 100644
index 000000000000..e32923961c2b
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vm1",
+ "aliases": [
+ "vm1",
+ "65f2dd83-95ae-4f56-b6aa-a5dafc05f4cd"
+ ],
+ "apps": [
+ "ntp",
+ "agent"
+ ],
+ "meta": {
+ "agentVersion": "7.19.2",
+ "installMethod": {
+ "tool": "install_script",
+ "toolVersion": "install_script",
+ "installerVersion": "install_script-1.0.0"
+ },
+ "logsAgent": {
+ "transport": ""
+ }
+ }
+ },
+ {
+ "name": "vm2",
+ "aliases": [
+ "vm2",
+ "df631d9a-8178-4580-bf60-c697a5e8df4d"
+ ],
+ "apps": [
+ "infra",
+ "agent"
+ ],
+ "meta": {
+ "agentVersion": "7.18.1",
+ "installMethod": {
+ "tool": "install_script",
+ "toolVersion": "install_script",
+ "installerVersion": "install_script-1.0.0"
+ },
+ "logsAgent": {
+ "transport": "HTTP"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json
new file mode 100644
index 000000000000..aab71d3d6090
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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.Datadog/monitors/myMonitor"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json
new file mode 100644
index 000000000000..5a55702d6546
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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",
+ "sendingMetrics": true,
+ "reasonForMetricsStatus": "CapturedByRules",
+ "sendingLogs": true,
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json
new file mode 100644
index 000000000000..bc44d57782d9
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "name": "myMonitor",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "subscription": "pro",
+ "linkingAuthCode": "someAuthCode",
+ "linkingClientId": "00000000-0000-0000-0000-000000000000",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000"
+ },
+ "userInfo": {
+ "name": "Alice",
+ "emailAddress": "alice@microsoft.com",
+ "phoneNumber": "123-456-7890"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Datadog/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123",
+ "linkingAuthCode": null,
+ "linkingClientId": null,
+ "enterpriseAppId": null
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Datadog/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123"
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json
new file mode 100644
index 000000000000..fdcafff7b59b
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json
new file mode 100644
index 000000000000..9c3390fd0ab5
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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.Datadog/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123",
+ "linkingAuthCode": null,
+ "linkingClientId": null,
+ "enterpriseAppId": null
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json
new file mode 100644
index 000000000000..b262da98f31f
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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.Datadog/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123",
+ "linkingAuthCode": null,
+ "linkingClientId": null,
+ "enterpriseAppId": null
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json
new file mode 100644
index 000000000000..b262da98f31f
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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.Datadog/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123",
+ "linkingAuthCode": null,
+ "linkingClientId": null,
+ "enterpriseAppId": null
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json
new file mode 100644
index 000000000000..533a811b225a
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "properties": {
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Datadog/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "datadogOrganizationProperties": {
+ "name": "myOrg",
+ "id": "myOrg123",
+ "linkingAuthCode": null,
+ "linkingClientId": null,
+ "enterpriseAppId": null
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 1
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..3a4b7b298ef3
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Datadog/monitors/write",
+ "display": {
+ "provider": "Microsoft.Datadog",
+ "resource": "monitors",
+ "operation": "write",
+ "description": "Write monitors resource"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json
new file mode 100644
index 000000000000..2fc910d0b17b
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "setPasswordLink": "https://datadoghq.com/reset_password/tokenvalue123"
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json
new file mode 100644
index 000000000000..3b8b4caac81f
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "configurationName": "default",
+ "requestBody": {
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default",
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default",
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json
new file mode 100644
index 000000000000..021c2a64284b
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "configurationName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default",
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.datadoghq.com/IAmSomeHash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json
new file mode 100644
index 000000000000..e472eac281c9
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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/singleSignOnConfigurations/default",
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.datadoghq.com/IAmSomeHash"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..4b5fd4503037
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default",
+ "requestBody": {
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendResourceLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ },
+ "metricRules": {
+ "filteringTags": []
+ }
+ }
+ }
+ },
+ "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": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendResourceLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ },
+ "metricRules": {
+ "filteringTags": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json
new file mode 100644
index 000000000000..6e6605f6287e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendResourceLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ },
+ "metricRules": {
+ "filteringTags": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json
new file mode 100644
index 000000000000..310676a49fd0
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "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": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendResourceLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ },
+ "metricRules": {
+ "filteringTags": []
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/readme.az.md b/specification/datadog/resource-manager/readme.az.md
new file mode 100644
index 000000000000..255a40da1cd7
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.az.md
@@ -0,0 +1,12 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: datadog
+ namespace: azure.mgmt.datadog
+ package-name: azure-mgmt-datadog
+az-output-folder: $(azure-cli-extension-folder)/src/datadog
+python-sdk-output-folder: "$(az-output-folder)/azext_datadog/vendored_sdks/datadog"
+```
diff --git a/specification/datadog/resource-manager/readme.azureresourceschema.md b/specification/datadog/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..acca975da361
--- /dev/null
+++ b/specification/datadog/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-datadog-2020-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datadog-2020-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datadog-2020-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
+
+```
diff --git a/specification/datadog/resource-manager/readme.cli.md b/specification/datadog/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..bd1ae237a340
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.cli.md
@@ -0,0 +1,6 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+```
diff --git a/specification/datadog/resource-manager/readme.csharp.md b/specification/datadog/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..3c0da556150d
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.csharp.md
@@ -0,0 +1,14 @@
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.Datadog
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/datadog/Microsoft.Azure.Management.Datadog/src/Generated
+ clear-output-folder: true
+```
diff --git a/specification/datadog/resource-manager/readme.go.md b/specification/datadog/resource-manager/readme.go.md
new file mode 100644
index 000000000000..847ccfd2fe30
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: datadog
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-02-preview
+```
+
+### Tag: package-2020-02-preview and go
+
+These settings apply only when `--tag=package-2020-02-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-02-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-02-01-preview/$(namespace)
+```
diff --git a/specification/datadog/resource-manager/readme.java.md b/specification/datadog/resource-manager/readme.java.md
new file mode 100644
index 000000000000..df97395c3038
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.java.md
@@ -0,0 +1,33 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.datadog
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datadog
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-02-preview
+```
+
+### Tag: package-2020-02-preview and java
+
+These settings apply only when `--tag=package-2020-02-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-02-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.datadog.v2020_02_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/datadog/mgmt-v2020_02_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md
new file mode 100644
index 000000000000..faa0f77fae95
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.md
@@ -0,0 +1,120 @@
+# Datadog
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Datadog.
+
+
+
+---
+## Getting Started
+To build the SDK for Datadog, 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 Datadog API.
+
+``` yaml
+title: Microsoft Datadog Client
+openapi-type: arm
+tag: package-2020-02-preview
+```
+
+### Tag: package-2020-02-preview
+
+These settings apply only when `--tag=package-2020-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-02-preview'
+input-file:
+- Microsoft.Datadog/preview/2020-02-01-preview/datadog.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-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_datadog']
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datadog/resource-manager
+```
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
+## Node.js
+
+See configuration in [readme.nodejs.md](./readme.nodejs.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)
+
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Datadog/preview/2020-02-01-preview/datadog.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/datadog/resource-manager/readme.nodejs.md b/specification/datadog/resource-manager/readme.nodejs.md
new file mode 100644
index 000000000000..565312e54cdc
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-arm-datadog
+ output-folder: $(node-sdks-folder)/lib/services/datadogManagement
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/datadog/resource-manager/readme.python.md b/specification/datadog/resource-manager/readme.python.md
new file mode 100644
index 000000000000..5768cbbc5bdd
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.python.md
@@ -0,0 +1,43 @@
+## 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.datadog
+ package-name: azure-mgmt-datadog
+ package-version: 1.0.0
+ clear-output-folder: true
+```
+
+These settings apply only when `--track2` is specified on the command line.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-datadog
+no-namespace-folders: true
+package-version: 1.0.0
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog/azure/mgmt/datadog
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog/azure/mgmt/datadog
+```
+
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog
+```
diff --git a/specification/datadog/resource-manager/readme.ruby.md b/specification/datadog/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..e67dde1680e2
--- /dev/null
+++ b/specification/datadog/resource-manager/readme.ruby.md
@@ -0,0 +1,26 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_mgmt_datadog
+package-version: 2020-02-01-preview
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-02-01-preview
+```
+
+### Tag: package-2020-02-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-02-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-02-01-preview' && $(ruby)
+namespace: "Azure::Datadog::Mgmt::V2020_02_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_datadog/lib
+```
diff --git a/specification/datadog/resource-manager/readme.typescript.md b/specification/datadog/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..4c69879e1b9b
--- /dev/null
+++ b/specification/datadog/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-datadog"
+ output-folder: "$(typescript-sdks-folder)/sdk/datadog/arm-datadog"
+ clear-output-folder: true
+ generate-metadata: true
+```
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 43909b01832d..43f2f1614abd 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
@@ -4886,6 +4886,18 @@
"globalParameters": {
"$ref": "#/definitions/GlobalParameterDefinitionSpecification",
"description": "List of parameters for factory."
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the data factory.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
}
}
},
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
index bdac90ebf99b..63e8f1b14468 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"DataFlow": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
index 52f028ae93c9..f822291740b8 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
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"Dataset": {
@@ -472,6 +483,33 @@
}
}
},
+ "DatasetTarCompression": {
+ "x-ms-discriminator-value": "Tar",
+ "description": "The Tar archive method used on a dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetCompression"
+ }
+ ],
+ "properties": {}
+ },
+ "DatasetTarGZipCompression": {
+ "x-ms-discriminator-value": "TarGZip",
+ "description": "The TarGZip compression method used on a dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetCompression"
+ }
+ ],
+ "properties": {
+ "level": {
+ "description": "The TarGZip compression level.",
+ "$ref": "#/definitions/CompressionLevel"
+ }
+ }
+ },
"CompressionLevel": {
"title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel",
"description": "All available compression levels.",
@@ -729,7 +767,9 @@
"deflate",
"zipDeflate",
"snappy",
- "lz4"
+ "lz4",
+ "tar",
+ "tarGZip"
],
"x-ms-enum": {
"name": "compressionCodec",
@@ -868,7 +908,8 @@
"enum": [
"none",
"zlib",
- "snappy"
+ "snappy",
+ "lzo"
],
"x-ms-enum": {
"name": "orcCompressionCodec",
@@ -1480,6 +1521,38 @@
"collectionName"
]
},
+ "MongoDbAtlasCollectionDataset": {
+ "x-ms-discriminator-value": "MongoDbAtlasCollection",
+ "description": "The MongoDB Atlas database dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "MongoDB Atlas database dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoDbAtlasCollectionDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MongoDbAtlasCollectionDatasetTypeProperties": {
+ "description": "MongoDB Atlas database dataset properties.",
+ "properties": {
+ "collection": {
+ "type": "object",
+ "description": "The collection name of the MongoDB Atlas database. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "collection"
+ ]
+ },
"MongoDbV2CollectionDataset": {
"x-ms-discriminator-value": "MongoDbV2Collection",
"description": "The MongoDB database dataset.",
@@ -3220,6 +3293,36 @@
"description": "The name of the SharePoint Online list. Type: string (or Expression with resultType string)."
}
}
+ },
+ "AzureDatabricksDeltaLakeDataset": {
+ "x-ms-discriminator-value": "AzureDatabricksDeltaLakeDataset",
+ "description": "Azure Databricks Delta Lake dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Properties specific to this dataset type.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureDatabricksDeltaLakeDatasetTypeProperties"
+ }
+ }
+ },
+ "AzureDatabricksDeltaLakeDatasetTypeProperties": {
+ "description": "Azure Databricks Delta Lake Dataset Properties",
+ "properties": {
+ "table": {
+ "type": "object",
+ "description": "The name of delta table. Type: string (or Expression with resultType string)."
+ },
+ "database": {
+ "type": "object",
+ "description": "The database name of delta table. Type: string (or Expression with resultType string)."
+ }
+ }
}
}
}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
index fe1f683bd72c..00dbf932a1d5 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
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"IntegrationRuntime": {
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 a25553b01b00..0061f43f02ce 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
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"LinkedService": {
@@ -2031,6 +2042,43 @@
"databaseName"
]
},
+ "MongoDbAtlasLinkedService": {
+ "x-ms-discriminator-value": "MongoDbAtlas",
+ "description": "Linked service for MongoDB Atlas data source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "MongoDB Atlas linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoDbAtlasLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MongoDbAtlasLinkedServiceTypeProperties": {
+ "description": "MongoDB Atlas linked service properties.",
+ "properties": {
+ "connectionString": {
+ "description": "The MongoDB Atlas connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.",
+ "type": "object"
+ },
+ "database": {
+ "type": "object",
+ "description": "The name of the MongoDB Atlas database that you want to access. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "connectionString",
+ "database"
+ ]
+ },
"MongoDbV2LinkedService": {
"x-ms-discriminator-value": "MongoDbV2",
"description": "Linked service for MongoDB data source.",
@@ -2641,6 +2689,10 @@
"AmazonS3LinkedServiceTypeProperties": {
"description": "Amazon S3 linked service properties.",
"properties": {
+ "authenticationType": {
+ "type": "object",
+ "description": "The authentication type of S3. Allowed value: AccessKey (default) or TemporarySecurityCredentials. Type: string (or Expression with resultType string)."
+ },
"accessKeyId": {
"type": "object",
"description": "The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string)."
@@ -2653,6 +2705,10 @@
"type": "object",
"description": "This value specifies the endpoint to access with the S3 Connector. This is an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string)."
},
+ "sessionToken": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The session token for the S3 temporary security credential."
+ },
"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)."
@@ -3233,6 +3289,10 @@
"ConcurLinkedServiceTypeProperties": {
"description": "Concur Service linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to Concur. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"clientId": {
"description": "Application client_id supplied by Concur App Management.",
"type": "object"
@@ -5322,6 +5382,50 @@
"accessToken"
]
},
+ "AzureDatabricksDeltaLakeLinkedService": {
+ "x-ms-discriminator-value": "AzureDatabricksDeltaLake",
+ "description": "Azure Databricks Delta Lake linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Databricks Delta Lake linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureDatabricksDetltaLakeLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureDatabricksDetltaLakeLinkedServiceTypeProperties": {
+ "description": "Azure Databricks Delta Lake linked service properties.",
+ "properties": {
+ "domain": {
+ "type": "object",
+ "description": ".azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string)."
+ },
+ "accessToken": {
+ "description": "Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or AzureKeyVaultSecretReference.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "clusterId": {
+ "type": "object",
+ "description": "The id of an existing interactive cluster that will be used for all runs of this job. Type: string (or Expression with resultType string)."
+ },
+ "encryptedCredential": {
+ "type": "object",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "domain"
+ ]
+ },
"ResponsysLinkedService": {
"x-ms-discriminator-value": "Responsys",
"description": "Responsys linked service.",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
index 2aa2ace47536..068ad1370cda 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"ManagedPrivateEndpoint": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json
index e1a1e226c159..486abeced71c 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"ManagedVirtualNetwork": {
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 8a2496cf577d..0e319987eced 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
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"Pipeline": {
@@ -923,6 +934,36 @@
}
}
},
+ "TarReadSettings": {
+ "description": "The Tar compression read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CompressionReadSettings"
+ }
+ ],
+ "properties": {
+ "preserveCompressionFileNameAsFolder": {
+ "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ }
+ }
+ },
+ "TarGZipReadSettings": {
+ "description": "The TarGZip compression read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CompressionReadSettings"
+ }
+ ],
+ "properties": {
+ "preserveCompressionFileNameAsFolder": {
+ "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ }
+ }
+ },
"DelimitedTextReadSettings": {
"description": "Delimited text read settings.",
"type": "object",
@@ -1036,6 +1077,52 @@
"recordNamespace": {
"type": "string",
"description": "Record namespace in the write result."
+ },
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "OrcWriteSettings": {
+ "description": "Orc write settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FormatWriteSettings"
+ }
+ ],
+ "properties": {
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "ParquetWriteSettings": {
+ "description": "Parquet write settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FormatWriteSettings"
+ }
+ ],
+ "properties": {
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
}
}
},
@@ -1055,6 +1142,14 @@
"fileExtension": {
"type": "object",
"description": "The file extension used to create the files. Type: string (or Expression with resultType string)."
+ },
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -1300,6 +1395,10 @@
"storeSettings": {
"$ref": "#/definitions/StoreWriteSettings",
"description": "ORC store settings."
+ },
+ "formatSettings": {
+ "$ref": "#/definitions/OrcWriteSettings",
+ "description": "ORC format settings."
}
}
},
@@ -1376,9 +1475,13 @@
"$ref": "#/definitions/RedirectIncompatibleRowSettings"
},
"logStorageSettings": {
- "description": "Log storage settings customer need to provide when enabling session log.",
+ "description": "(Deprecated. Please use LogSettings) Log storage settings customer need to provide when enabling session log.",
"$ref": "#/definitions/LogStorageSettings"
},
+ "logSettings": {
+ "description": "Log settings customer needs provide when enabling log.",
+ "$ref": "#/definitions/LogSettings"
+ },
"preserveRules": {
"type": "array",
"items": {
@@ -2104,13 +2207,9 @@
"type": "object",
"description": "The time to await before sending next request, in milliseconds "
},
- "compressionType": {
+ "httpCompressionType": {
"type": "object",
- "description": "Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. "
- },
- "wrapRequestJsonInAnObject": {
- "type": "object",
- "description": "Wraps Request Array Json into an Object before calling the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} else the format is []"
+ "description": "Http Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. "
}
}
},
@@ -2675,6 +2774,40 @@
}
}
},
+ "MongoDbAtlasSource": {
+ "description": "A copy activity source for a MongoDB Atlas database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "filter": {
+ "type": "object",
+ "description": "Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string)."
+ },
+ "cursorMethods": {
+ "description": "Cursor methods for Mongodb query",
+ "$ref": "#/definitions/MongoDbCursorMethodsProperties"
+ },
+ "batchSize": {
+ "type": "object",
+ "description": "Specifies the number of documents to return in each batch of the response from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer)."
+ },
+ "queryTimeout": {
+ "type": "object",
+ "description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ },
+ "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"
+ }
+ }
+ }
+ },
"MongoDbV2Source": {
"description": "A copy activity source for a MongoDB database.",
"type": "object",
@@ -3533,6 +3666,82 @@
}
}
},
+ "AzureDatabricksDeltaLakeSource": {
+ "description": "A copy activity Azure Databricks Delta Lake source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "Azure Databricks Delta Lake Sql query. Type: string (or Expression with resultType string)."
+ },
+ "exportSettings": {
+ "$ref": "#/definitions/AzureDatabricksDeltaLakeExportCommand",
+ "description": "Azure Databricks Delta Lake export settings."
+ }
+ }
+ },
+ "AzureDatabricksDeltaLakeExportCommand": {
+ "description": "Azure Databricks Delta Lake export command settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExportSettings"
+ }
+ ],
+ "properties": {
+ "dateFormat": {
+ "type": "object",
+ "description": "Specify the date format for the csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)."
+ },
+ "timestampFormat": {
+ "type": "object",
+ "description": "Specify the timestamp format for the csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "AzureDatabricksDeltaLakeSink": {
+ "description": "A copy activity Azure Databricks Delta Lake sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "preCopyScript": {
+ "type": "object",
+ "description": "SQL pre-copy script. Type: string (or Expression with resultType string)."
+ },
+ "importSettings": {
+ "$ref": "#/definitions/AzureDatabricksDeltaLakeImportCommand",
+ "description": "Azure Databricks Delta Lake import settings."
+ }
+ }
+ },
+ "AzureDatabricksDeltaLakeImportCommand": {
+ "description": "Azure Databricks Delta Lake import command settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImportSettings"
+ }
+ ],
+ "properties": {
+ "dateFormat": {
+ "type": "object",
+ "description": "Specify the date format for csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)."
+ },
+ "timestampFormat": {
+ "type": "object",
+ "description": "Specify the timestamp format for csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"StoredProcedureParameter": {
"description": "SQL stored procedure parameter.",
"type": "object",
@@ -3709,6 +3918,10 @@
"storeSettings": {
"$ref": "#/definitions/StoreWriteSettings",
"description": "Parquet store settings."
+ },
+ "formatSettings": {
+ "$ref": "#/definitions/ParquetWriteSettings",
+ "description": "Parquet format settings."
}
}
},
@@ -4123,7 +4336,7 @@
}
},
"LogStorageSettings": {
- "description": "Log storage settings.",
+ "description": "(Deprecated. Please use LogSettings) Log storage settings.",
"type": "object",
"properties": {
"linkedServiceName": {
@@ -4133,6 +4346,14 @@
"path": {
"type": "object",
"description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)."
+ },
+ "logLevel": {
+ "type": "object",
+ "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)."
+ },
+ "enableReliableLogging": {
+ "type": "object",
+ "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)."
}
},
"additionalProperties": {
@@ -4142,6 +4363,58 @@
"linkedServiceName"
]
},
+ "LogSettings": {
+ "description": "Log settings.",
+ "type": "object",
+ "properties": {
+ "enableCopyActivityLog": {
+ "type": "object",
+ "description": "Specifies whether to enable copy activity log. Type: boolean (or Expression with resultType boolean)."
+ },
+ "copyActivityLogSettings": {
+ "description": "Specifies settings for copy activity log.",
+ "$ref": "#/definitions/CopyActivityLogSettings"
+ },
+ "logLocationSettings": {
+ "description": "Log location settings customer needs to provide when enabling log.",
+ "$ref": "#/definitions/LogLocationSettings"
+ }
+ },
+ "required": [
+ "logLocationSettings"
+ ]
+ },
+ "LogLocationSettings": {
+ "description": "Log location settings.",
+ "type": "object",
+ "properties": {
+ "linkedServiceName": {
+ "description": "Log storage linked service reference.",
+ "$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "path": {
+ "type": "object",
+ "description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "linkedServiceName"
+ ]
+ },
+ "CopyActivityLogSettings": {
+ "description": "Settings for copy activity log.",
+ "type": "object",
+ "properties": {
+ "logLevel": {
+ "type": "object",
+ "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)."
+ },
+ "enableReliableLogging": {
+ "type": "object",
+ "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)."
+ }
+ }
+ },
"StagingSettings": {
"description": "Staging settings.",
"type": "object",
@@ -4331,6 +4604,17 @@
}
}
},
+ "DynamicsSinkWriteBehavior": {
+ "description": "Defines values for DynamicsSinkWriteBehavior.",
+ "type": "string",
+ "enum": [
+ "Upsert"
+ ],
+ "x-ms-enum": {
+ "name": "DynamicsSinkWriteBehavior",
+ "modelAsString": true
+ }
+ },
"DynamicsSink": {
"description": "A copy activity Dynamics sink.",
"type": "object",
@@ -4342,14 +4626,7 @@
"properties": {
"writeBehavior": {
"description": "The write behavior for the operation.",
- "type": "string",
- "enum": [
- "Upsert"
- ],
- "x-ms-enum": {
- "name": "DynamicsSinkWriteBehavior",
- "modelAsString": true
- }
+ "$ref": "#/definitions/DynamicsSinkWriteBehavior"
},
"ignoreNullValues": {
"type": "object",
@@ -4375,14 +4652,7 @@
"properties": {
"writeBehavior": {
"description": "The write behavior for the operation.",
- "type": "string",
- "enum": [
- "Upsert"
- ],
- "x-ms-enum": {
- "name": "DynamicsSinkWriteBehavior",
- "modelAsString": true
- }
+ "$ref": "#/definitions/DynamicsSinkWriteBehavior"
},
"ignoreNullValues": {
"type": "object",
@@ -4408,14 +4678,7 @@
"properties": {
"writeBehavior": {
"description": "The write behavior for the operation.",
- "type": "string",
- "enum": [
- "Upsert"
- ],
- "x-ms-enum": {
- "name": "DynamicsSinkWriteBehavior",
- "modelAsString": true
- }
+ "$ref": "#/definitions/DynamicsSinkWriteBehavior"
},
"ignoreNullValues": {
"type": "object",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
index 6423f41ed7d3..fcc6219cd204 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
@@ -4,6 +4,17 @@
"title": "DataFactoryManagementClient",
"version": "2018-06-01"
},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
"paths": {},
"definitions": {
"Trigger": {
@@ -417,7 +428,8 @@
"type": "string",
"enum": [
"Minute",
- "Hour"
+ "Hour",
+ "Month"
],
"x-ms-enum": {
"name": "TumblingWindowFrequency",
diff --git a/specification/datafactory/resource-manager/readme.az.md b/specification/datafactory/resource-manager/readme.az.md
new file mode 100644
index 000000000000..c66b104e4430
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.az.md
@@ -0,0 +1,86 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: datafactory
+ namespace: azure.mgmt.datafactory
+ package-name: azure-mgmt-datafactory
+ disable-checks: true
+ randomize-names: true
+az-output-folder: $(azure-cli-extension-folder)/src/datafactory
+python-sdk-output-folder: "$(az-output-folder)/azext_datafactory/vendored_sdks/datafactory"
+
+input-file:
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
+
+directive:
+ - from: swagger-document
+ where: $.definitions.JsonFormatFilePattern
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.CompressionLevel
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.DynamicsLinkedServiceTypeProperties.properties.servicePrincipalCredentialType
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.ScriptAction.properties.roles
+ transform: >
+ $['type'] = 'string';
+ - where:
+ command: datafactory integration-runtime create-linked-integration-runtime
+ set:
+ command: datafactory integration-runtime linked-integration-runtime create
+
+cli:
+ cli-directive:
+ # directive on operationGroup
+ - where:
+ group: Pipelines
+ op: CreateOrUpdate$|CreateOrUpdate#Create
+ parameter: pipeline
+ json: true
+ - where:
+ group: IntegrationRuntimes
+ op: CreateOrUpdate
+ param: properties
+ poly-resource: true
+ - where:
+ group: IntegrationRuntimes
+ op: CreateOrUpdate#*
+ param: properties
+ poly-resource: true
+ - where:
+ group: ExposureControl|IntegrationRuntimeObjectMetadata|DataFlows|DataFlowDebugSession|ManagedVirtualNetworks|ManagedPrivateEndpoints
+ hidden: true
+ - where:
+ group: Factories
+ op: ConfigureFactoryRepo
+ param: locationId
+ name: location
+ - where:
+ group: IntegrationRuntimes
+ op: CreateLinkedIntegrationRuntime
+ param: dataFactoryLocation
+ name: location
+ - where:
+ group: Triggers|LinkedServices|Datasets
+ op: CreateOrUpdate#Update
+ param: properties
+ cli-flatten: true
+ - where:
+ group: Pipelines
+ op: CreateOrUpdate#Update
+ param: pipeline
+ cli-flatten: true
+```
diff --git a/specification/datafactory/resource-manager/readme.azureresourceschema.md b/specification/datafactory/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..76766e48c563
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,43 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datafactory-2018-06-01
+ - tag: schema-datafactory-2017-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datafactory-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datafactory-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+ - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
+
+```
+
+### Tag: schema-datafactory-2017-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datafactory-2017-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
+
+```
diff --git a/specification/datafactory/resource-manager/readme.cli.md b/specification/datafactory/resource-manager/readme.cli.md
index 67b563417786..d50517ab5ce0 100644
--- a/specification/datafactory/resource-manager/readme.cli.md
+++ b/specification/datafactory/resource-manager/readme.cli.md
@@ -5,87 +5,66 @@ These settings apply only when `--cli` is specified on the command line.
``` yaml $(cli)
cli:
namespace: azure.mgmt.datafactory
- flatten-all: true
test-scenario:
- name: Factories_CreateOrUpdate
- #- name: Datasets_Create
- #- name: Datasets_Update
- #- name: Triggers_Update
- #- name: Triggers_Create
- #- name: DataFlows_Update
- #- name: Pipelines_Create
- #- name: DataFlows_Create
- #- name: Pipelines_Update
- #- name: LinkedServices_Create
- #- name: LinkedServices_Update
- #- name: IntegrationRuntimes_Create
- #- name: RerunTriggers_Create
- #- name: IntegrationRuntimeNodes_Get
- #- name: IntegrationRuntimes_Get
- #- name: RerunTriggers_ListByTrigger
- #- name: LinkedServices_Get
- #- name: PipelineRuns_Get
- #- name: Pipelines_Get
- #- name: DataFlows_Get
- #- name: Datasets_Get
- #- name: Triggers_Get
- #- name: IntegrationRuntimes_ListByFactory
- #- name: LinkedServices_ListByFactory
- #- name: DataFlows_ListByFactory
- #- name: Pipelines_ListByFactory
- #- name: Triggers_ListByFactory
- #- name: Datasets_ListByFactory
- #- name: Factories_Get
- #- name: Factories_ListByResourceGroup
- #- name: Factories_List
- #- name: Operations_List
- #- name: IntegrationRuntimeNodes_GetIpAddress
- #- name: IntegrationRuntimes_CreateLinkedIntegrationRuntime
- #- name: RerunTriggers_Cancel
- #- name: RerunTriggers_Start
- #- name: IntegrationRuntimeNodes_Update
- #- name: IntegrationRuntimeObjectMetadata_Refresh
- #- name: RerunTriggers_Stop
- #- name: IntegrationRuntimes_RegenerateAuthKey
- #- name: Triggers_Rerun
- #- name: IntegrationRuntimeObjectMetadata_Get
- #- name: IntegrationRuntimes_GetConnectionInfo
- #- name: IntegrationRuntimes_SyncCredentials
- #- name: IntegrationRuntimes_GetMonitoringData
- #- name: IntegrationRuntimes_ListAuthKeys
- #- name: IntegrationRuntimes_Upgrade
- #- name: IntegrationRuntimes_GetStatus
- #- name: IntegrationRuntimes_Upgrade
- #- name: IntegrationRuntimes_Start
- #- name: IntegrationRuntimes_Stop
- #- name: Triggers_GetEventSubscriptionStatus
- #- name: ActivityRuns_QueryByPipelineRun
- #- name: IntegrationRuntimes_Update
- #- name: Triggers_UnsubscribeFromEvents
- #- name: Triggers_SubscribeToEvents
- #- name: PipelineRuns_Cancel
- #- name: Pipelines_CreateRun
- #- name: Triggers_Start
- #- name: Triggers_Stop
- #- name: DataFlowDebugSession_ExecuteCommand
- #- name: DataFlowDebugSession_Delete
- #- name: DataFlowDebugSession_Create
- #- name: DataFlowDebugSession_QueryByFactory
- #- name: DataFlowDebugSession_AddDataFlow
- #- name: Factories_GetGitHubAccessToken
- #- name: Factories_GetDataPlaneAccess
- #- name: PipelineRuns_QueryByFactory
- #- name: TriggerRuns_QueryByFactory
- #- name: ExposureControl_GetFeatureValueByFactory
- #- name: Factories_Update
- #- name: Factories_ConfigureFactoryRepo
- #- name: ExposureControl_GetFeatureValue
- #- name: IntegrationRuntimesNodes_Delete
- #- name: IntegrationRuntimes_Delete
- #- name: LinkedServices_Delete
- #- name: Pipelines_Delete
- #- name: DataFlows_Delete
- #- name: Datasets_Delete
- #- name: Triggers_Delete
- #- name: Factories_Delete
+ - name: Factories_Update
+ - name: LinkedServices_Create
+ - name: LinkedServices_Update
+ - name: Datasets_Create
+ - name: Datasets_Update
+ - name: Pipelines_Create
+ - name: Pipelines_Update
+ - name: Triggers_Create
+ - name: Triggers_Update
+ - name: IntegrationRuntimes_Create
+ - name: IntegrationRuntimes_Update
+ - name: IntegrationRuntimes_CreateLinkedIntegrationRuntime
+ - name: Pipelines_CreateRun
+ - name: IntegrationRuntimes_Get
+ - name: RerunTriggers_ListByTrigger
+ - name: LinkedServices_Get
+ - name: PipelineRuns_Get
+ - name: Pipelines_Get
+ - name: Datasets_Get
+ - name: Triggers_Get
+ - name: IntegrationRuntimes_ListByFactory
+ - name: LinkedServices_ListByFactory
+ - name: Pipelines_ListByFactory
+ - name: Triggers_ListByFactory
+ - name: Datasets_ListByFactory
+ - name: Factories_Get
+ - name: Factories_ListByResourceGroup
+ - name: Factories_List
+ - name: Operations_List
+ - name: RerunTriggers_Cancel
+ - name: RerunTriggers_Start
+ - name: RerunTriggers_Stop
+ - name: IntegrationRuntimes_RegenerateAuthKey
+ - name: TriggerRuns_Rerun
+ - name: IntegrationRuntimes_GetConnectionInfo
+ - name: IntegrationRuntimes_SyncCredentials
+ - name: IntegrationRuntimes_GetMonitoringData
+ - name: IntegrationRuntimes_ListAuthKeys
+ - name: IntegrationRuntimes_Upgrade
+ - name: IntegrationRuntimes_GetStatus
+ - name: IntegrationRuntimes_Start
+ - name: IntegrationRuntimes_Stop
+ - name: Triggers_GetEventSubscriptionStatus
+ - name: ActivityRuns_QueryByPipelineRun
+ - name: Triggers_UnsubscribeFromEvents
+ - name: Triggers_SubscribeToEvents
+ - name: Triggers_Start
+ - name: Triggers_Stop
+ - name: Factories_GetGitHubAccessToken
+ - name: Factories_GetDataPlaneAccess
+ - name: PipelineRuns_QueryByFactory
+ - name: PipelineRuns_Cancel
+ - name: TriggerRuns_QueryByFactory
+ - name: Factories_ConfigureFactoryRepo
+ - name: IntegrationRuntimes_Delete
+ - name: Triggers_Delete
+ - name: Pipelines_Delete
+ - name: Datasets_Delete
+ - name: LinkedServices_Delete
+ - name: Factories_Delete
```
diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index 6ab27eaa4547..eb66b97b8020 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -37,6 +37,13 @@ These settings apply only when `--tag=package-2018-06` is specified on the comma
``` yaml $(tag) == 'package-2018-06'
input-file:
- Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
```
### Tag: package-2017-09-preview
@@ -65,6 +72,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datafactory/resource-manager
```
@@ -82,33 +93,6 @@ csharp:
clear-output-folder: true
```
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.datafactory
- package-name: azure-mgmt-datafactory
- package-version: 1.0.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
-```
## Go
@@ -219,28 +203,7 @@ directive:
- DataFlow add type required
```
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+## AzureResourceSchema
-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.DataFactory/stable/2018-06-01/datafactory.json
- - $(this-folder)/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.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
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datafactory/resource-manager/readme.python.md b/specification/datafactory/resource-manager/readme.python.md
new file mode 100644
index 000000000000..51f2c51d2ce3
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.python.md
@@ -0,0 +1,27 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.datafactory
+ package-name: azure-mgmt-datafactory
+ package-version: 1.0.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
+```
diff --git a/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ee0f54438247
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datalakeanalytics-2016-11-01
+ - tag: schema-datalakeanalytics-2015-10-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=